如何执行这样的Javascript函数:
cursor.continue(parameters)
使用字符串标识函数名称,不使用使用eval
?像这样:
cursor.callMethod("continue", parameters);
这可能吗?
答案 0 :(得分:7)
是的,您可以使用方括号表示法。
cursor["continue"](parameters)
cursor["continue"]
与cursor.continue
完全相同。
答案 1 :(得分:2)
如果您控制callMethod
,并且该函数属于某个对象或属于全局,那么是的,这是可能的。
例如,如果目标函数是callMethod所在的同一对象的方法:
var cursor = {
callMethod: function(method, params) {
this[method].apply(this, params);
},
continue: function() {}
}
cursor.callMethod("continue", [1, 2, 3]);
答案 2 :(得分:0)
是的,您可以像这样调用函数:
cursor["continue"](parameters);