小编mte*_*lis的帖子

带有可变参数的新Function()

我需要使用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

29
推荐指数
3
解决办法
4万
查看次数

标签 统计

javascript ×1