未捕获RangeError的原因:超出了最大调用堆栈大小

时间:2016-05-31 09:06:01

标签: javascript jquery jquery-ui web

我的JS代码中出现此错误未捕获RangeError:超出最大调用堆栈大小,我想知道导致此错误的原因。

Uncaught RangeError: Maximum call stack size exceeded
[Symbol.replace]                    @ (program):405
replace                             @ (program):134
n.extend.camelCase                  @ jquery-1.12.3.min.js:2
R                                   @ jquery-1.12.3.min.js:3
n.extend._data                      @ jquery-1.12.3.min.js:3
n.extend.queue                      @ jquery-1.12.3.min.js:3
n.extend.dequeue                    @ jquery-1.12.3.min.js:3
(anonymous function)                @ jquery-1.12.3.min.js:4
n.extend.each                       @ jquery-1.12.3.min.js:2
n.fn.n.each                         @ jquery-1.12.3.min.js:2
n.fn.extend.stop                    @ jquery-1.12.3.min.js:4

2 个答案:

答案 0 :(得分:3)

这可能是因为您在某处无限递归

您可以使用

轻松复制此内容
(f=> f(f)) (f=> f(f))

// Uncaught RangeError: Maximum call stack size exceeded

除非您发布代码,否则我们无法向您提供更具体的帮助

答案 1 :(得分:2)

如果您在此处发布代码会更有帮助。

可能有各种原因,

  1. 当您有无限循环时,也可能会出现此错误。确保您没有任何无休止的递归自引用。
  2. 您正在创建数千个HTML元素,或绑定数千个事件
  3. 永无止境,功能递归
  4. 永不结束,事件递归或自定义事件处理程序的触发
  5. 此外,您可能会获得有关chrome或firefox调试器中发生这些异常的位置的更多信息,您可以共享发生此错误的代码,我们可以帮助您。