我正在使用 Direct Web Remoting (DWR) JavaScript 库文件,并且仅在 Safari(桌面和 iPad)中出现错误
它说
超出最大调用堆栈大小。
这个错误到底是什么意思,它是否完全停止处理?
Safari
浏览器的任何修复(实际上是在 iPad Safari
上,它说
JS:执行超时
我假设是相同的调用堆栈问题)
原文由 copenndthagen 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用 Direct Web Remoting (DWR) JavaScript 库文件,并且仅在 Safari(桌面和 iPad)中出现错误
它说
超出最大调用堆栈大小。
这个错误到底是什么意思,它是否完全停止处理?
Safari
浏览器的任何修复(实际上是在 iPad Safari
上,它说
JS:执行超时
我假设是相同的调用堆栈问题)
原文由 copenndthagen 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
这意味着在您的代码中的某处,您正在调用一个函数,该函数又调用另一个函数,依此类推,直到您达到调用堆栈限制。
这几乎总是因为具有未满足基本情况的递归函数。
查看堆栈
考虑这段代码…
这是几次调用后的堆栈…
如您所见,调用堆栈会不断增长,直到达到限制:浏览器硬编码堆栈大小或内存耗尽。
为了修复它,请确保您的递归函数具有能够满足的基本情况……