递归 : 在函数方法内部调用自身
基本来说是做算法用的
是用来反复执行同一段结构的代码
方法: 1.找规律 2.找出口
// function jk(n) {
// if (n == 1) {
// return 1;
// }
// return n+=jk(n-1);
// }
// console.log(jk(7));
拆分递归过程
// function jc(n) {
// if(n == 1) {
// return 1;
// }
// return n * jc(n-1);
// }
// alert(jc(5));
// 调用函数,把n为5带入
// 5不等于1,则运算下面的
// 5 *jc(5-1)=5*jc(4)
// jc(4)把4带入函数
// 4 * jc(4-1)=4 * jc(3)
// jc(3)带入
// 3* jc(3-1) = 3*jc(2)
// 2* jc(2-1) = 2*jc(1)
// 因为jc(1)等于1
// jc(2)=2*1=2,jc(3)=3*(jc2)=3*2=6
// jc(4)=4*(jc3)=4*6=24
// jc(5)=5*(jc4)=5*24=120
// 递归优势: 通俗易懂
// 弊端: 最先运算,最后输出