Posted by & filed under 每日一题.

【四脚猫】每日一题(10月23日):JavaScript当中,如果递归使用不当,则会出现栈溢出错误,如何在栈溢出时获取栈的当前深度?

参考答案:思路是先定义一个变量stackCount=0,然后使用setTimeout设置一个延迟执行的回调函数在控制台打印出stackCount的值,接着写一个方法,每次对变量加1,并调用自己。执行该方法,等着栈溢出后看结果。

1
2
3
4
5
6
7
8
9
10
11
var stackCount = 0

setTimeout(function(){
    console.log(stackCount)
}, 0)

function callSelf() {
    stackCount += 1
    callSelf()
}
callSelf()

欢迎各位攻城狮,各位大牛给每日一题投稿,大家可以把自己碰到的有趣问题,工作中碰到的难题等…发送到 稿件邮箱:2313427189@qq.com