柯里化

柯里化

  • 延时计算
  • 通用写法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    var currying = function (fn) {
    var _args = [];
    function base() {
    if (arguments.length === 0) {
    return fn.apply(this, _args);
    } else {
    Array.prototype.push.apply(_args, [].slice.call(arguments));
    return logic;
    }
    }
    return base;
    };
    var add = currying(function(){
    return [].slice.call(arguments).reduce(function(a,b){
    return a + b;
    });
    })
    add(1,2,3)(4)(5)();
装作特别有钱