当我在字符串中有它的名字时,有没有办法执行一个函数

时间:2013-04-24 04:49:53

标签: javascript reflection parameters eval

考虑我有一个函数的名称,它不需要var中的任何参数 -

var fn = "foo";

我可以在某些或类似的地方执行它 -

eval(fn);

它不起作用。请建议。

我对函数的定义如下所示 -

function foo() {
  ....do something....
}

2 个答案:

答案 0 :(得分:1)

请不要使用eval。

如果函数在全局范围内,只需执行

var fn = "foo";
window[fn]();

DEMO

答案 1 :(得分:-2)

试试这个

eval(fn)();

或者

eval(fn + "()");