1

如何将字符串转换为函数?我看过“如何将字符串转换为 javascript 函数调用?” 和其他一些人,但他们不适合。我不能eval以任何方式使用。我无法访问实际的字符串。将其视为一个预定义的字符串,当您尝试访问该值时会引发错误。解决方案问题:有没有办法不使用eval但制作一个parseFunction函数,比如parseIntparseFloat但有函数?

4

1 回答 1

4

函数构造函数接受一个定义函数 intself 的字符串,因此您可以执行以下操作:

var f = new Function(string);

调用它:

new Function('alert("x");')();

您将看到一个显示x的警报

传递参数定义如下:

new Function(arg1, arg2, argN, functionBody)

因此,您可以像这样传递警报字符串:

new Function('arg', 'alert(arg);')('hello')
于 2013-11-04T16:46:52.470 回答