87,996
社区成员
发帖
与我相关
我的任务
分享<script>
function f(n){
return n<= 2 ? 1 : f(n-1) + f(n - 2)
}
console.log(f(6))
</script>
f(n) return的是一个三目运算,条件满足输出1,条件不满足输出f(n-1)+f(n-2)(调用自身)
所以f(6) 因为6<=2不成立,所以输出f(5) + f(4),继续调用自身
( f(4)+f(3) ) + ( f(3)+f(2) ),因为这当中f(2)和f(1)都满足小于2的条件,所以f(2)==f(1)==1,其余部分继续调用自身
中间过程省略
最后
f(2)+f(1)+f(2)+f(2)+f(1)+f(2)+f(1)+f(2),等于8