JS——递归函数

概念

递归函数就是一个函数通过名字自我调用。

递归函数必须要有的两个要素:

  1. 结束关系
  2. 递推关系

特点

  1. 每一级函数调用时都有自己的变量,但是函数代码并不会得到复制;
  2. 每次调用都会有一次返回;
  3. 递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;
  4. 递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;
  5. 递归函数中必须有终止语句。

举例

实现阶乘:

var a=function f(num){
	if(num===1){
		return 1;
	}else{
		return num*f(num-1);//当执行此代码的时候,进行函数的自调用,每次进入运算的数字都比前一个进入的数字小1,其运算过程是5*4*3*2=120
	}
};
alert(a(5));//120

求前n项的和:

 //求前n项的和
        function sum(n){
            if(n==1){
                return 1;
            }
            return sum(n-1)+n
        }
        let r=sum(100)
        console.log(r)//5050

你可能感兴趣的:(JS,javascript,前端,开发语言)