函数递归调用

2019-02-01  本文已影响0人  晚溪呀

在函数里调用自己的行为:函数递归调用

递归调用一定要有最后一次递归时的终止条件,如果没有,会导致无限调用,导致调用栈溢出,最后导致程序崩溃

递归调用

        function factorial(n) {
            if (n === 1) {
                return 1;
            }
            return n * factorial(n - 1);
        }
        console.log(factorial(5)) // 120

尾递归调用:让递归成为函数最后一步

        function factorial(n, target = 1) {
            if (n === 1) {
                return target;
            }
            return factorial(n - 1, n * target);
        }
        console.log(factorial(5))
上一篇下一篇

猜你喜欢

热点阅读