关与函数递归返回函数自身undefined问题!路过的大佬看看!


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()) //成功


慕村5492868
浏览 813回答 1
1回答

橋本奈奈未

第一段undefined是因为,每次函数调用都会入栈,而最开始的那次函数调用并没有返回值,只是在d>3的时候有返回值,这时候函数就开始出栈,而最底下或者叫最开始的那个函数调用并没有返回值,所有console.log接受到的就是undefined;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript