我有一个名称存储在变量中的函数,我该如何调用它?
var fun_name='foo'
如果 if 函数在全局空间中可用
window[fun_name]()
如果是对象的成员,那么obj[fun_name]()
前任:
var obj = {
foo: function(){}
}
obj[fun_name]()
您可以使用它来做到这一点。
window[fun_name]();
它也将有范围,所以很简单
scopeVar[fun_name](args);
或者如果是全局的
window[fun_name](args);
您可以使用“评估”功能
这将调用 alert(3)
foo = 'alert(3)';
eval(foo);
Check this out. How to execute a JavaScript function when I have its name as a string
Or simply use a switch like follows:
switch(fun_name){
case "foo":
foo();
break;
case "foo2":
foo2();
break;
default:
fooDefault();
}