1.什么是递归?
递归,简单的来讲,就是自己调用自己,在函数体内执行这个函数自己,这就是递归
注: (1)递归函数,每次执行自己,都相当于创建一个当前函数的副本放入到堆中然后执行,知道满足一定条件时,,才一层一层的向前返回. 因此递归函数一定要有结束条件,否则就会造成 堆栈上限溢出 。
例1:
var a=1;
fn();
function fn(){
if(a>5)return;
console.log("a"+a);
a++;
fn();
console.log("b");
}
执行顺序:
打印结果:
例2:
function getSum(num){
if(num===1) return 1;
return num+getSum(num-1);
}
var sum=getSum(5);
console.log(sum);
打印结果: