MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

信息

InternalError: too much recursion

错误类型

内部错误.

什么地方出错了?

一个调用自身的函数被称作递归函数。一些情况下,递归函数类似于一个循环,都重复地执行一个代码段许多次,都需要一个条件(用于避免无尽循环或此处的无尽递归)。当出现过于深层的递归或无尽递归时,JavaScript将会抛出此错误。

示例

根据递归终止的条件,该函数将递归地执行 10 次。

function loop(x) {
  if (x >= 10) // "x >= 10" 是递归终止条件
    return;
  // 进行一些操作...
  loop(x + 1); // 递归调用
}
loop(0);

将递归条件设置为一个极大的数值,将不能运行:

function loop(x) {
  if (x >= 1000000000000)
    return;
  // 进行一些操作...
  loop(x + 1);
}
loop(0);

// InternalError: too much recursion

相关页面

文档标签和贡献者

 此页面的贡献者: Jack-Q
 最后编辑者: Jack-Q,