0

プロトタイプがjsでどのように機能するかを実際に理解しようとしています。私は現在、ループに基づく小さなゲーム プロジェクトに取り組んでいます。

一度インスタンス化され、それが定義するループ メソッドを呼び出して起動するゲーム オブジェクト インスタンスが必要です。

私が取得しようとしているのは、次のようなものです:

function Game() {};
Game.prototype = {
    start: (function() {
        this.loop();    // this is where i have a problem
    })()

    loop: function() {
        // do stuff
    }
}

明らかに、これは機能しません。開始時に自己実行関数を使用して自動的に起動するため、「this」キーワードは Game オブジェクトではなくウィンドウ オブジェクトを表します。

新しい Game オブジェクトをインスタンス化した後に手動で start メソッドを呼び出す必要がないようにする方法はありますか?

ありがとう

4

1 に答える 1

0
function Game() { this.loop(); };
Game.prototype={ 

    loop: function() {
        // do stuff
    }
}

new Game;
于 2013-01-02T13:09:34.980 に答える