递归函数的执行顺序

是不是优先执行递归函数 将别的代码先放一边 等递归完了再将之前因为递归而没有执行的代码再重新执行一遍 是不是这样的
function abc(d){
  if(d<=1){
    return 1;
  }else{
    return abc(d-1)*d
  }
}
alert("10!的结果为:" + abc(10))

这个递归执行顺序是不是每次都只是调用else里的abc()而不*d,等return 1的时候再将之前递归的时候没有*d再挨个乘一遍吗,乘完之后再将其输出?

阿里斯托亚
浏览 1711回答 1
1回答

氽氽

其实你可以写成一个表达式Sn = S(n-1)  * (n) S(n-1) = S(n-2) *(n-1)...S2 = S(2-1) * (2)S1 = 1 把S1 带入到S2的表达式,再把S2 带入到S3的表达式,如此类推
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript