是不是优先执行递归函数 将别的代码先放一边 等递归完了再将之前因为递归而没有执行的代码再重新执行一遍 是不是这样的
function abc(d){
if(d<=1){
return 1;
}else{
return abc(d-1)*d
}
}
alert("10!的结果为:" + abc(10))
这个递归执行顺序是不是每次都只是调用else里的abc()而不*d,等return 1的时候再将之前递归的时候没有*d再挨个乘一遍吗,乘完之后再将其输出?
1 回答
已采纳
氽氽
TA贡献1条经验 获得超0个赞
其实你可以写成一个表达式
Sn = S(n-1) * (n)
S(n-1) = S(n-2) *(n-1)
.
.
.
S2 = S(2-1) * (2)
S1 = 1
把S1 带入到S2的表达式,再把S2 带入到S3的表达式,如此类推
添加回答
举报
0/150
提交
取消