对不起,如果这很简单,但我不能得到它的工作,即使我已经阅读了许多类似的话题几个小时。我不知道还有什么要搜索的。原型回调
我想调用一个回调函数,但是在对象中调用一个回调函数,而不是全局(?)范围中的函数。
var something = function (x) {
this.x = x;
};
something.prototype.alertx = function() {
alert(this.x);
};
something.prototype.logx = function() {
console.log(this.x);
};
something.prototype.multiplyxby2 = function(callback){
this.x *= 2;
callback.call(this); // this is where I am stuck!!
// obviously this.callback(); doesn't work either.
};
var foo = new something(20);
foo.multiplyxby2('logx');
// or
foo.multiplyxby2('alertx');
感谢
谢谢你,先生!! '这个[callback] .call(this);'和'this。[callback]()'在jfriend00的答案中有什么区别?只要将上下文传递给回调函数? –
@BenA。有没有....我也已经更新了答案....因为我们使用的是正确的上下文调用回调没有必要使用'.CALL()' –
谢谢!很有帮助。 –