猿问

js执行环境栈的问题

function add(i){

    if(i==3){

        return i;

    }

    else{

         add(++i);

    }

alert(add(3))//3

alert(add(0))//undefined

我知道这个是关于执行环境栈的问题,但是是具体原因还是不太明白求高手详细分析下它的机制,我用debugger看了add(0)当i==3走了return为什么函数还继续?然后i再减小到1弹出结果undefined,为什么不是i为0时弹出?

翻阅古今
浏览 601回答 0
0回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答