我最近遇到了一个问题,我没有为对象正确创建数组。
所以我尝试在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”。我该如何开展这项工作?我真的不知道为什么会这样......
答案 0 :(得分:3)
尝试:
var modelBuffer = model.getBuffer();
而不是:
var modelBuffer = model.getBuffer;
您正在将函数分配给变量,而不是调用函数。
console.log()
变量总是一个好主意,它不会返回您期望的变量。在这种情况下:
console.log(modelBuffer);
登录:
// function ()
// {
// return this.buffer;
// }
例如,我指的是modelBuffer
作业的方向。