我正在使用以下代码将数组传递给可变javascript函数
function parse(fn, args)
{
var parameters = [];
if (args)
{
for (var i = 0; i < args.length; i++)
{
parameters.push(args[i]);
}
}
fn = (typeof fn == "function") ? fn : window[fn];
return fn.apply(this, parameters);
}
function SomeFunction(parameters)
{
console.log(parameters);
}
在某种程度上,这是有效的,因为调用了正确的函数并将参数传递给它。但是,我只收到函数中数组的第一个元素,这显然是我遇到的问题,因为我需要数组的所有元素而不仅仅是第一个。
答案 0 :(得分:0)
对...
参数使用parse
(余数运算符),将简化并正确地传递数组。
function parse(fn, ...parameters) {
fn = typeof fn == "function" ? fn : window[fn];
return fn.apply(this, parameters);
}
function SomeFunction(parameters) {
console.log(parameters);
}
parse(SomeFunction, [1, 2]);