递归
1.如果一个函数可以在内部调用其本身,那么这个函数就是递归函数
简单说,就是自己调用自己
递归函数的作用和循环效果一样
var num=1 function fn(){ console.log('我要打印第六句话') if(num==6){ return //递归很容易出现栈溢出的错误所以必须加判断条件return } num++ fn() } fn()
2.利用递归函数求1-n之间的阶乘 1*2*3*4*5*6*7.....*n
// 2.利用递归函数求1-n之间的阶乘 1*2*3*4*5*6*7.....*n function fn1(n) { if (n == 1) { return 1; } return n * fn1(n - 1); } console.log('1-20的阶乘为:' + fn1(20)); console.log('1-10的阶乘为:' + fn1(10)); console.log('1-5的阶乘为:' + fn1(5));
3. 求斐波那契序列 1+1+2+4+6+10+16+.....+n
// 3.求斐波那契序列 1+1+2+4+6+10+16+.....+n function fb(n){ if(n===1||n===2){ return 1 } return fb(n-1)+fb(n-2) } console.log(fb(3))