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时弹出?
相关分类