gpt4 book ai didi

node.js - 将函数传递给其他原型(prototype)

转载 作者:行者123 更新时间:2023-11-28 20:37:11 24 4
gpt4 key购买 nike

我有以下代码

http://jsfiddle.net/qhoc/SashU/1/

var Callback = function(op) {
this.callback = op.callback;
}

var Test = function (op) {
for (var option in op) {
if (!this[option]) this[option] = op[option];
}

}

Test.prototype.init = function(bb) {
console.log('aa = ' + this.aa);
console.log('bb = ' + bb);

if (bb < 3) {
this.init(bb + 1);
} else {
this.callback;
}
}

var finalCallback = function() {
console.log('this is finalCallback');
}

var myCallback = new Callback({
callback: finalCallback
});

var myTest = new Test({
aa: 1,
callback: myCallback
});

myTest.init(1);

第 19 行根本没有打印 'this is FinalCallback' 因为 this.callback; 已执行但没有指向到一个函数。但以下有效:

myTest.init(1);
myCallback.callback();

我猜当将myCallback传递给myTest时,它没有传递finalCallback??

有人可以帮忙解释一下这种行为以及如何解决它吗?

最佳答案

似乎你想这样做(使用 op.callback 作为函数):

var Callback = function (op) {
this.callback = op.callback;
return this.callback;
};

并且函数应该使用()调用

 } else {
this.callback();
}

http://jsfiddle.net/oceog/SashU/3/

this is example where it can be used

关于node.js - 将函数传递给其他原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15150601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com