var d = 0; function test(){ d++ if(d>3){return '成功'} test() }console.log(test()) //undefined<--------------------------------->var d = 0;function test(){d++if(d>3){return '成功'} return test()}console.log(test()) //成功
1 回答
已采纳
橋本奈奈未
TA贡献436条经验 获得超108个赞
第一段undefined是因为,每次函数调用都会入栈,而最开始的那次函数调用并没有返回值,只是在d>3的时候有返回值,这时候函数就开始出栈,而最底下或者叫最开始的那个函数调用并没有返回值,所有console.log接受到的就是undefined;
添加回答
举报
0/150
提交
取消