Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对对象调用匿名函数_Javascript_Node.js_Function_Anonymous Function - Fatal编程技术网

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()
方法。

问题中有太多的未知数。你能提供一个最小的可复制程序吗?谢谢,尽管我读了文件,但我没有正确地得到它: