我对javascript很新,我认为这是一个愚蠢的问题,但我不知道如何在谷歌上搜索我的问题。
我有一个"班级"那样:
function Myclass(){}
Myclass.prototype.method1() = function(){
whatever.onload = function(){
this.method2();
}
};
Myclass.prototype.method2() = function(){};
我的问题是"这个"与我的班级不再相关。在这个匿名函数范围内,我无法访问我的方法2。
我该如何解决这个问题?
感谢您的建议。
答案 0 :(得分:4)
最简单的方法是:
Myclass.prototype.method1 = function(){
var self = this;
whatever.onload = function(){
self.method2();
}
};
变量self
即使在method1
完成执行后仍然存在,以便用method1
声明的onload函数以后仍然可以访问它。 (有关此内容的更多信息,请参阅google" JavaScript闭包"。)