Maximum call stack size exceeded

错误描述

直接上错误截图:
Maximum call stack size exceeded_第1张图片

错误解析

  • 以上错误的意思是 "超出最大调用堆栈大小"

  • 出现这种错误最常见的原因是:在代码中的某个地方,您正在调用一个函数,该函数又调用另一个函数,依此类推,直到达到调用堆栈限制。这几乎总是因为具有未满足的基本情况的递归函数

    • 举例:
      (function a() {
          a();
      })();
    • 调用堆栈会一直增长,直到达到限制:浏览器硬编码堆栈大小或内存耗尽。为了解决这个问题,请确保您的递归函数具有能够满足的基本情况 
      (function a(x) {
          if ( ! x) {
              return;
          }
          a(--x);
      })(10);
      有了停止调用的判断条件,就不会有堆栈溢出了

你可能感兴趣的:(日常bug)