プロトタイプがjsでどのように機能するかを実際に理解しようとしています。私は現在、ループに基づく小さなゲーム プロジェクトに取り組んでいます。
一度インスタンス化され、それが定義するループ メソッドを呼び出して起動するゲーム オブジェクト インスタンスが必要です。
私が取得しようとしているのは、次のようなものです:
function Game() {};
Game.prototype = {
start: (function() {
this.loop(); // this is where i have a problem
})()
loop: function() {
// do stuff
}
}
明らかに、これは機能しません。開始時に自己実行関数を使用して自動的に起動するため、「this」キーワードは Game オブジェクトではなくウィンドウ オブジェクトを表します。
新しい Game オブジェクトをインスタンス化した後に手動で start メソッドを呼び出す必要がないようにする方法はありますか?
ありがとう