js中递归调用

什么是递归函数?

官方的解释就是:函数直接或间接调用函数的本身,则该函数叫做递归函数。

使用原理:自己调用自己,从后面往前推。

特点:

  1. 有参数
  2. 有return
  3. 自己调用自己

案例:计算1+2+3+4+...+100的和

function sum(n){
    var res = 0;
    for(var i = 1; i <= 100; i++){
        res += i;
    }
    return res;
}

alert(sum(100));//输出5050

以上的案例就是一个函数自己调用自己的递归函数。先去寻找规律,sum(100) = sum(99) + 100,sum(99) = sum(98) + 99依次类推得出sum(n) = sum(n - 1) + n;

递归函数使用技巧

  1. 首先寻找临界值,即不需要计算,就能得出结果。
  2. 找这一次和上一次的关系。
  3. 假设当前函数可以使用,调用自身计算上一次和这一次的关系

【注】使用递归函数的时候一定要注意,处理不好就会进入死循环当中。