0

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

所以我尝试在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 中检索数据时,它会打印“未定义”。我如何得到这份工作?我真的不知道为什么会这样……

4

1 回答 1

3

尝试:

var modelBuffer = model.getBuffer();

代替:

var modelBuffer = model.getBuffer;

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

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

console.log(modelBuffer);

记录:

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

modelBuffer例如,为我指明任务的方向。

于 2013-01-23T15:13:02.763 回答