考虑下面的代码:的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