为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript学习笔记-对阶乘的理解

标签:
JavaScript

之前看到阶乘的时候,总是比较糊涂,不知道结果是怎样算出来。我今天对阶乘的步骤进行了拆解,发现也挺容易理解的。
先看一下阶乘的代码:

function factorial(num){
  if(num<=1){
    return 1;
  }else{
    return num * factorial(num-1);
  }
}

为了方便,我们选一个比较小的数字来执行

factorial(3); //6

首先,第一步执行的时候,先检查传入的num的值是否符合<=1的条件,num值为3,显然不符合,所以返回的值为 3 x factorial(num-1),我们把第一次执行的结果简写为 3 x fun;
然后继续对这个fun进行求值,由于num进行了-1操作,所以新的num值为2,依旧不符合<=1的条件,所以我们把两次的执行结果写为 3 x (2 x fun);
num继续-1,这次值为1,满足了<=1的条件,直接返回结果1,且不再向下执行新的function,所以我们最终的运算结果为 3 x (2 x (1)) = 6;

如果还不明白,那我就用下面的代码再演示一遍:

factorial(3) =>
3*factorial(3-1) =>
3*(2*factorial(2-1)) =>
3*(2*(1)) => 6
点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消