weixin

柯里化(curry)是什么意思?

日期: January 22, 2021 作者:网站维护

柯里是一个数学家的名字。

比如一个函数有多个参数,要固定函数的某几个参数,这个函数就是就是柯里化后的函数。

《JavaScript the good part》里的例子,一个给function原型添加了一个curry的方法,把add函数的第一个参数固定成1,得到函数add1:

Function.prototype.method = function (name, func) {
    this.prototype[name] = func;
    return this; 
};

Function.method('curry', function (  ) {
    var slice = Array.prototype.slice,
        args = slice.apply(arguments),
        that = this;
    return function (  ) {
        return that.apply(null, args.concat(slice.apply(arguments)));
    }; 
});


var add = function (a, b) {
    return a + b; 
};

var add1 = add.curry(1); add1(1);

广告内容为平台自动生成