如何调用名称存储在变量中的函数?

时间:2013-05-01 05:10:23

标签: javascript function

我有一个函数,其名称存储在一个变量中,我该如何调用它?

var fun_name='foo'

5 个答案:

答案 0 :(得分:4)

如果函数在全局空间中可用

window[fun_name]()

如果是对象的成员,则obj[fun_name]()

例如:

var obj = {
    foo: function(){}
}
obj[fun_name]()

答案 1 :(得分:1)

你可以使用。

window[fun_name]();

答案 2 :(得分:1)

它也有范围,所以简单

scopeVar[fun_name](args);

或全球

window[fun_name](args);

答案 3 :(得分:0)

您可以使用“评估”功能

这将调用alert(3)

foo = 'alert(3)';
eval(foo);

答案 4 :(得分:-1)

检查一下。 How to execute a JavaScript function when I have its name as a string

或者只是使用如下开关:

switch(fun_name){
case "foo":
foo();
break;
case "foo2":
foo2();
break;
default:
fooDefault();
}