function Foo() {
this.bar = false;
}
Foo.prototype={
onLoad: function() {
this.bar=true;
},
create: function(id) {
SomeClass.someMethod({
id: id,
onWorkIsDone: this.onLoad
});
}
};
var temp=new Foo();
temp.create();
此示例在字符串'onWorkIsDone:this.onLoad'中存在逻辑错误。我必须放置什么而不是'this.onLoad'来使SomeClass在完成它的工作时调用temp.onLoad方法?
答案 0 :(得分:0)
我认为这就是你所追求的......
function Foo() {
this.bar = false;
}
var SomeClass = { someMethod: function(vars) {
vars.onWorkIsDone();
}
}
Foo.prototype={
onLoad: function() {
alert("hello!");
},
create: function(id) {
SomeClass.someMethod({
id: id,
onWorkIsDone: this.onLoad
});
}
};
你是否正确调用了onWorkIsDone()方法?
答案 1 :(得分:0)
onWorkIsDone: (function() {
var self=this;
return function() {
self.onLoad()
}
}).call(this)
简单的关闭就可以了。