javascript - JS 将数组作为参数传递给递归函数

标签 javascript jquery recursion arguments apply

好吧,再说一遍。 我想在递归函数中调用一个函数,并使用它的所有参数:

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/

相关文章:

javascript - 从 jQuery 函数中检索多个值

javascript - 单击时在 td 中展开一个 div

javascript - JavaScript 中的递归归约

javascript - 如何在 jQuery 中迭代 DOM 时选择和获取视频和音频元素的属性

recursion - VB6 函数中的递归和返回变量

计算字符串中元音的个数

javascript - 使用 jquery 或 javascript 进行简单分页

javascript - Firestore - 如果放在返回代码中,OrderBy 将不起作用

javascript - 在 Javascript 中使用 Google 文字转语音

javascript - CSS :last-child selector in javascript?