function fun(n) {
if (n < 0){
return 0
}
if (n === 1){
return 1
}
if (n === 2){
return 2
}
return fun(n-1)
}
console.log(fun(4)) //为什么结果是2呢?
function fun(n) {
if (n < 0){
return 0
}
if (n === 1){
return 1
}
if (n === 2){
return 2
}
return fun(n-1)
}
console.log(fun(4)) //为什么结果是2呢?
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
亲,这是一个递归,执行fun(4)的时候,没有匹配结果会return fun(3),执行fun(3)的时候也没有匹配结果,会继续执行fun(2),n=2的时候匹配到了结果,所以返回2,结果递归