JavaScript的遞歸函數

最近在看望遠鏡書,看到遞歸函數,以階乘爲例。
// 在嚴格模式下不可行
    var digui = function(num) {
        if (num <= 1) {
            return 1;
        } else {
            return num * arguments.callee(num-1);
        }
    }
    // console.log(digui(3));//6

    // 在嚴格模式和非嚴格模式下均可行
    var factorial = (function f(num) {
        if(num<=1) {
            return 1;
        }else {
            return num * f(num-1)
        }
    })
    console.log(factorial(3));//6
相關文章
相關標籤/搜索