コールバック内で正しい「this」にアクセスする方法は?
イベントハンドラーを登録するコンストラクター関数があります。 function MyConstructor(data, transport) { this.data = data; transport.on('data', function () { alert(this.data); }); } // Mock transport object var transport = { on: function(event, callback) { setTimeout(callback, 1000); } }; // called as var obj = new MyConstructor('foo', transport); コードスニペットを実行する結果を非表示スニペットを展開 ただし、dataコールバック内で作成されたオブジェクトのプロパティにアクセスできません。this作成されたオブジェクトではなく、別のオブジェクトを参照しているように見えます。 また、無名関数の代わりにオブジェクトメソッドを使用しようとしました。 function MyConstructor(data, transport) { this.data = data; …