递归

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))

 

posted @ 2023-01-29 10:04  小闫的姑娘  阅读(17)  评论(0编辑  收藏  举报