递归的特点:
1、函数自己调用自己
2、递归函数一般情况下有参数
3、递归函数一定有return,但是return后面不一定跟表达式
递归:循环能做到的事情,递归都能做。
最强王者法则:
1、找出临界值,无需计算就能够得出的值。
2、找这一次和上一次的关系
3、假设这个函数已经写好,写出第n次和第n-1次的关系公式。
sum(100) = sum(99) + 100;
sum(n) = sum(n - 1) + n;
//运用递归计算1-100的和
function sum(n){
if(n == 1){
return 1;
}
return sum(n - 1) + n;
}
alert(sum(100));