1

我希望这个工作:

我定义了一个函数:

function callback_1() {
 // Do something
}

我有一个定义回调的回调字符串:

var functionString = 'callback_' + 1 + '()';

我想让那个字符串真正调用函数callback_1我该怎么做?

4

2 回答 2

6

由于您functionString实际上主要是一个函数的名称,因此您可以这样做

window['callback_' + 1]();

这比eval它只执行您尚未拥有的功能要安全得多。

如果你想使用functionString你拥有的(最后是“()”),你可以使用

window[functionString.slice(0, -2)]();
于 2012-09-21T11:49:07.237 回答
0

试试这个:它对我有用

        eval(functionString);
于 2012-09-21T11:49:18.837 回答