gpt4 book ai didi

javascript - 在对象上调用匿名函数

转载 作者:行者123 更新时间:2023-12-02 16:03:51 25 4
gpt4 key购买 nike

通常我会像这样进行回调:调用回调的对象具有以下方法:

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);

并将 make_success_callback 函数更改为:

 this.success_callback_ob.call(this.success_callback_func, msg)

我收到此错误:

Object [object Object] has no method 'call'

我需要更改什么才能使其正常工作?我如何对此调用函数 sayHello ?谢谢

最佳答案

您刚刚将对象与函数混淆了。应该是:

this.success_callback_func.call(this.success_callback_ob, msg)

一个函数有一个.call() method ,它将上下文对象作为第一个参数。 Object 没有 .call() 方法。

关于javascript - 在对象上调用匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30962934/

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