递归,简单的来讲,就是自己调用自己,在函数体内执行这个函数自己,这就是递归
注: (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);

打印结果:
原文:https://www.cnblogs.com/rookieKong/p/12884620.html