好吧,再说一遍。 我想在递归函数中调用一个函数,并使用它的所有参数:
function foo(callback /* , callback args */) {
var args;
for(var i=1;i<arguments.length;i++) {
args.push(arguments[i]);
}
// somehow set the timeout to foo
callback.apply(args);
}
我也尝试过应用 setTimeout 但似乎不起作用:
args.unshift(foo, 100, callback);
setTimeout.apply(args);
最佳答案
参数数组应该是apply
的第二个参数。
您需要添加一个参数来确定其前面的 this
的值。
setTimeout.apply(window, args);
关于javascript - JS 将数组作为参数传递给递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23569709/