如何将字符串转换为函数?

时间:2013-11-04 16:45:02

标签: javascript string function eval

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

1 个答案:

答案 0 :(得分:4)

函数构造函数接受一个定义函数intself的字符串,所以你可以这样做:

var f = new Function(string);

要打电话:

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

您将看到显示 x

的提醒

传递参数定义如下:

new Function(arg1, arg2, argN, functionBody)

所以你可以像这样传递一个警告字符串:

new Function('arg', 'alert(arg);')('hello')