【发布时间】:2019-08-11 16:33:14
【问题描述】:
我从this 博客文章中看到以下函数来计算最大调用堆栈大小:
function computeMaxCallStackSize() {
try {
return 1 + computeMaxCallStackSize();
} catch (e) {
// Call stack overflow
return 1;
}
}
如果从 Chrome 的控制台运行,12530 是结果(对于 V8)
假设相同的函数为 WebKit 计算相同的结果,为什么当为 Safari 运行时,结果是 36243?这是〜三倍的大小?我遇到这个错误的唯一一次是在创建一个好的 ole 无限循环时。这是一个武断的决定吗?更大的堆栈大小会带来更大的好处吗?
【问题讨论】: