我需要使用new Function()构造函数创建一个具有可变数量参数的函数.像这样的东西:
args = ['a', 'b'];
body = 'return(a + b);';
myFunc = new Function(args, body);
Run Code Online (Sandbox Code Playgroud)
没有可能eval()吗?
非常感谢你们!实际上,a + b不是我主要关注的问题.我正在研究一个处理和扩展模板的代码,我需要将未知(和变量)数量的参数传递给函数,以便将它们作为局部变量引入.
例如,如果模板包含:
<span> =a </span>
Run Code Online (Sandbox Code Playgroud)
我需要输出参数的值a.也就是说,如果用户声明扩展功能为
var expand = tplCompile('template', a, b, c)
Run Code Online (Sandbox Code Playgroud)
然后打电话
expand(4, 2, 1)
Run Code Online (Sandbox Code Playgroud)
我需要替换=a使用4.是的,我很清楚功能类似于eval()并且运行速度非常慢,但我没有任何其他选择.
javascript ×1