0
点赞
收藏
分享

微信扫一扫

递归的理解和运用

凶猛的小白兔 2022-04-14 阅读 55
javascript

何为递归呢?

个人理解为是一个加强版的for循环,在没有判断条件的时候,它会变成死循环,无限循环下去;
但利用的好,可以大大简化某些操作:

实例:

/*输入一个数值算他的阶乘*/
        function add(n) {
            if (n == 1) {
                return 1;
            }
            return n * add(n - 1);
        }
            console.log(add(5));
            步骤:
            1.5*add(4)
            2.5*(4*add(3))
            3.5*(4*(3*(add(2))))
            4.5*(4*(3*(2*1)))
/*利用递归函数求斐波那契数列(兔子序列)  1、1、2、3、5、8、13、21...用户输入一个数字 n 就可以求出 这个数字对应的兔子序列值*/
//思路,从第二项开始的每个值都是前面两个值相加之和所以:
function fb(n) {
            if (n === 1 || n === 2) {
                return 1;
            }
            return fb(n - 1) + fb(n - 2);
        }
举报

相关推荐

0 条评论