對不起,如果這很簡單,但我不能得到它的工作,即使我已經閱讀了許多類似的話題幾個小時。我不知道還有什麼要搜索的。原型回調
我想調用一個回調函數,但是在對象中調用一個回調函數,而不是全局(?)範圍中的函數。
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()' –
謝謝!很有幫助。 –