javascript递归函数

在函数内部直接或间接的调用自己。

一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积。

5阶乘 = 12345

分析:

最小数 是1 ,最大数 是 5

大致思路:

1、先定义一个全局变量,其值为1,以便于将需要递归的数自上而下依次相乘

2、定义函数,并在其中加入if判断语句,当需要递归的数大于1时,就与1相乘并保存到这个全局变量中,然后递归数自减,就可以达到递归函数

// total变量表示 积(两数 相乘的积)
var total = 1;
function factorial(num) {
  if (num > 1) {
    // 两数相乘的积 
    total = total * num;
    //调用函数自身 
    factorial(--num);
  }
  return total;
}
var r = factorial(5);
console.log(r);

代码演示:

202103291616999765154134