javascript 实现的阶乘函数

// Y 函数实现的太绕了,太难以理解了, 无语。

function factorial(proc) {
    return function (
n) {
        return (
<= 1) ? proc(n-1);
    }
}

function Y(outer) {
    function 
inner(proc) {
        function 
apply(arg) {
            return 
proc(proc)(arg);
        }       
        return 
outer(apply);
    }
    return 
inner(inner);
}

alert("5! is " Y(factorial)(5));

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据