递归——耦合问题

    function factorial(n) {
        if (n <= 1) {
            return 1;
        } else {
            return n * factorial(n - 1);
            //可行,但是耦合性高,外部函数名改变,内部也要随之更改
        }
    }
    alert(factorial(4));
    function factorial(n) {
        if (n <= 1) {
            return 1;
        } else {
            return n * arguments.callee(n - 1);
            //低耦合,函数名改变不会影响函数执行
        }
    }
    alert(factorial(4));
原文地址:https://www.cnblogs.com/feile/p/5325496.html