Javascript 如何基于数组创建带参数的函数

Javascript 如何基于数组创建带参数的函数,javascript,function,evaluation,Javascript,Function,Evaluation,我有一个数组,可以模拟函数的参数 例如: var params = ['name', 'age', 'email']; 这个信息是由另一个端点创建的,它返回这个数组。从这个数组中,我想创建一个如下函数: function (name, age, email) { //... //my custom code return result; } 如你们所见,我想自动创建函数,并使用每个数组元素作为该函数的参数 有没有办法不使用eval来实现这一点 似乎新功能('name'

我有一个数组,可以模拟函数的参数

例如:

var params = ['name', 'age', 'email'];
这个信息是由另一个端点创建的,它返回这个数组。从这个数组中,我想创建一个如下函数:

function (name, age, email) {
    //...
    //my custom code
    return result;
}
如你们所见,我想自动创建函数,并使用每个数组元素作为该函数的参数

有没有办法不使用
eval
来实现这一点

似乎
新功能('name'、'age'、'email'、'fn body')
也不能动态生成

提前感谢

您可以使用
.apply()
。确保函数体是数组的最后一个成员

Function.apply( null, your_array );
您可以使用
.apply()
。确保函数体是数组的最后一个成员

Function.apply( null, your_array );
但是,与
eval
相比,这并没有什么具体的好处,您尝试做的事情可能会有所不同,而不需要动态地将字符串计算成代码


但是,与
eval
相比,这并没有什么具体的好处,而且您尝试执行的操作可能会有所不同,而无需动态地将字符串计算为代码

如果您要使用参数数组调用函数,请使用。例如:

function foo(a, b, c) {
    alert(a + b + c);
}
foo.apply(null, [1, 2, 3]);

如果要使用参数数组调用函数,请使用。例如:

function foo(a, b, c) {
    alert(a + b + c);
}
foo.apply(null, [1, 2, 3]);

你想做的没有任何意义。使用命名参数“创建”函数没有意义。这里真正的问题是什么?你真的需要这样做吗?你只需要一个数组或对象作为参数,然后从中得到你所需要的,你想做的没有任何意义。使用命名参数“创建”函数没有意义。这里真正的问题是什么?你真的需要这样做吗?您可以期望将数组或对象作为参数,并从中获得所需的内容。