如何将字符串转换为函数?我看过“如何将字符串转换为javascript函数调用?” 和其他一些,但它们不合适。我不能eval
以任何方式使用。我无法访问实际的字符串。将其视为预定义的字符串,当您尝试访问该值时会引发错误。解决的问题:有没有办法不使用eval
,但做一个parseFunction
功能,如parseInt
和parseFloat
但功能?
函数构造函数接受一个可以自行定义函数的字符串,因此您可以执行以下操作:
var f = new Function(string);
调用它:
new Function('alert("x");')();
您将看到一个警告,其中显示一个x
传递参数的定义如下:
new Function(arg1, arg2, argN, functionBody)
因此,您可以像这样传递一个警报字符串:
new Function('arg', 'alert(arg);')('hello')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句