前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js 递归执行顺序

js 递归执行顺序

作者头像
小蔚
发布2022-05-09 14:49:11
7.2K0
发布2022-05-09 14:49:11
举报
文章被收录于专栏:小蔚记录小蔚记录

递归实现:求n个数字的和 n=5---> 5+4+3+2+1

代码语言:javascript
复制
//

    //函数的声明
    function getSum(x) {
      if (x == 1) {
        return 1;
      }
      return x + getSum(x - 1);
    }
    //函数的调用
    console.log(getSum(5));

执行过程:

代码执行getSum(5)--->进入函数, 此时的x是5, 执行的是5+getSum(4), 此时代码等待

此时5+getSum(4), 代码先不进行计算, 先执行getSum(4), 进入函数, 执行的是4+getSum(3), 等待, 先执行的是getSum(3), 进入函数, 执行3+getSum(2), 等待,

先执行getSum(2), 进入函数, 执行 2+getSum(1); 等待, 先执行getSum(1), 执行的是x==1的判断,return 1,

所以, 此时getSum(1)的结果是1, 开始向外走出去

2+getSum(1) 此时的结果是:2+1

执行:

getSum(2)---->2+1

3+getSum(2) 此时的结果是3+2+1

4+getSum(3) 此时的结果是4+3+2+1

5+getSum(4) 此时的结果是5+4+3+2+1

结果:15

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 递归实现:求n个数字的和 n=5---> 5+4+3+2+1
  • 执行过程:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档