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