我最近遇到了一个问题,即我没有为对象正确创建数组。

因此,我尝试在javascript中执行以下操作:

function Mesh()
{
    this.buffer = [10, 10, 10];
}

Mesh.prototype.getBuffer = function ()
{
    return this.buffer;
};

function main()
{
    var model = new Mesh();
    var modelBuffer = model.getBuffer;
    document.getElementById("textSection").innerHTML = modelBuffer[0];
}


我试图避免使用全局变量,因此我已经按照在Mesh()构造函数中创建的方式创建了数组。但是,当我尝试从插槽0检索数据时,它会显示“ undefined”。我如何获得这项工作?我真的不知道为什么会这样...

最佳答案

尝试:

var modelBuffer = model.getBuffer();


代替:

var modelBuffer = model.getBuffer;


您是将函数分配给变量,而不是调用函数。

console.log()不会返回您期望的变量的变量总是一个好主意。在这种情况下:

console.log(modelBuffer);


已记录:

// function ()
// {
//     return this.buffer;
// }


例如,将我指向modelBuffer分配的方向。

09-12 10:57