我最近遇到了一个问题,即我没有为对象正确创建数组。
因此,我尝试在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
分配的方向。