JavaScript如何以字符串的形式从对象和函数名调用回调函数?

JavaScript如何以字符串的形式从对象和函数名调用回调函数?,javascript,callback,Javascript,Callback,我如何使我的JavaScript库作为另一个对象/库中的回调函数的字符串名来调用它 具有cb函数的回调对象示例: var cb = { cb_function: function(data){ console.log('[message_handler_callback ran from another objects function]', data); } } 我的JS库的对象名和函数名存储如下 if(typeof(that.message_handlers[i].cal

我如何使我的JavaScript库作为另一个对象/库中的回调函数的字符串名来调用它

具有cb函数的回调对象示例:

var cb = {
  cb_function: function(data){
    console.log('[message_handler_callback ran from another objects function]', data);
  }
}

我的JS库的对象名和函数名存储如下

if(typeof(that.message_handlers[i].callback) === 'string') {
    // needs to call cb.cb_function(data)
}
那么,我上面的代码如何调用:

cb.cb_function(data);

cb.cb\u函数
作为字符串值存储在
中时,该.message\u处理程序[i]。回调

不存储字符串。存储函数。@Bergi在本例中,如果函数是对象的属性,则可以使用方括号表示法:
myLib[callback]()
。您还可以将字符串映射到不同名称的函数。@JasonDavis不,不要。让你的库的调用者处理。不要存储字符串。存储函数。@Bergi在本例中,如果函数是对象的属性,则可以使用方括号表示法:
myLib[callback]()
。您还可以将字符串映射到不同名称的函数。@JasonDavis不,不要。把这个留给图书馆的来访者。