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 に答える