这意味着在代码的某处,您正在调用一个函数,该函数又调用另一个函数,依此类推,直到达到调用堆栈限制。
这几乎总是因为没有满足基本情况的递归函数。
查看堆栈
考虑这段代码…
(function a() { a();})();
这是经过几次调用后的堆栈…
如您所见,调用堆栈会不断增长,直到达到极限:浏览器采用硬编码的堆栈大小或内存耗尽。
为了对其进行修复,请确保您的递归函数具有可以满足的基本情况。
(function a(x) { // The following condition // is the base case. if ( ! x) { return; } a(--x);})(10);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)