は、次のコードを考えてみましょう:JavaScriptは - 参照「これは」内部機能に
MyClass.prototype.my_func = function() {
this.x = 10;
$.ajax({
// ...
success: function (data) {
alert(this.x);
}
});
}
明らかthis
が閉鎖の実行コンテキストにバインドされていないので、それは、動作しません。私は別の変数を導入することでそれを回避することができました:
var _this = this;
これは匿名関数の内部で動作します。しかし、私にはかなり醜い。これを処理する良い方法がありますか?
あなたの提案した解決策、 'var _this = this;'は標準的な回避策だと思います。 – LukeH
代わりに標準的な回避策は 'var that'を代わりに使用しています:P – hugomg
@LukeH **解決策を呼び出さないようにしています** – ZenMaster