JavaScript如何以字符串的形式从对象和函数名调用回调函数?
我如何使我的JavaScript库作为另一个对象/库中的回调函数的字符串名来调用它 具有cb函数的回调对象示例: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
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不,不要。把这个留给图书馆的来访者。