我遇到变量范围的问题。前两个返回正确的值但是当我订阅一个事件(事件正在工作)时,它返回this._id为undefined。我也试过它作为MyFunction._id;
var i = 0;
var func = new MyFunction();
func.init();
function MyFunction(i){
this._id = i;
}
MyFunction.prototype.init = function(){
Debugger.log("A : " + this._id); //displays the result of i
this.myTest; //displays the result of i
Event.subscribe("UPDATE", this.myTest);// is undefined
}
MyFunction.prototype.myTest = function(){
Debugger.log("B : " + this._id);
}
THX。
答案 0 :(得分:1)
你必须这样做:
Event.subscribe("UPDATE", this.myTest.bind(this));