每个浏览器都有自己的调用栈大小上限,将如下代码在Chrome V70 中执行
var i = 0
function recursiveFn () {
i++
recursiveFn()
}
try {
recursiveFn()
} catch (ex) {
alert(`我的最大调用栈 i = ${i} errorMsg = ${ex}`)
}
会弹出如下信息
我的最大调用栈 i = 15663 errorMsg = RangeError: Maximum call stack size exceeded
栈溢出了,那么接下来我要去看递归、尾调用优化、Pointfree了...
网友评论