Javascript 对对象调用匿名函数
通常我会这样做回调:调用回调的对象具有以下方法:Javascript 对对象调用匿名函数,javascript,node.js,function,anonymous-function,Javascript,Node.js,Function,Anonymous Function,通常我会这样做回调:调用回调的对象具有以下方法: this.set_success_callback = function(obj, func){ this.success_callback_obj = obj; this.success_callback_func = func; } this.make_success_callback = function(msg){ this.success_callback_obj[this.success_callback_
this.set_success_callback = function(obj, func){
this.success_callback_obj = obj;
this.success_callback_func = func;
}
this.make_success_callback = function(msg){
this.success_callback_obj[this.success_callback_func](msg);
}
然后,在设置对象时,我会像这样关联回调:
var obj = new ...
obj.set_success_callback(this, "sayHello");
这正如预期的那样有效但是当我想这样定义回调时:
obj.set_success_callback(this, this.sayHello);
Object [object Object] has no method 'call'
并将make_success_callback
函数更改为:
this.success_callback_ob.call(this.success_callback_func, msg)
我收到这个错误:
obj.set_success_callback(this, this.sayHello);
Object [object Object] has no method 'call'
我需要做哪些更改才能使其正常工作?我如何在这个问题上调用sayHello函数?谢谢您刚刚把对象和函数弄混了。应该是:
this.success_callback_func.call(this.success_callback_ob, msg)
函数
有一个,它将上下文对象作为第一个参数Object
没有.call()
方法。问题中有太多的未知数。你能提供一个最小的可复制程序吗?谢谢,尽管我读了文件,但我没有正确地得到它: