美文网首页
函数柯里化(currying)

函数柯里化(currying)

作者: 进击的前端_风笑影 | 来源:发表于2018-07-27 14:44 被阅读0次

    对于函数的柯里化(currying)应该不陌生,简单来说 Currying 技术是一种通过把多个参数填充到函数体中,实现将函数转换为一个新的经过简化的(使之接受的参数更少)函数的技术。当发现正在调用同一个函数时,并且传递的参数绝大多数都是相同的,那么用一个Curry化的函数是一个很好的选择。

    下面利用闭包实现一个curry化的加法函数, 我们简单理解一下 curry 化:

    function add(x, y){
        if(x && y) return x + y;
        if(!x && !y) throw Error("Cannot calculate");
        return function(newx){
            return x + newx;
        };
    }
    add(3)(4); //7
    add(3, 4); //7
    var newAdd = add(5);
    newAdd(8); //13
    var add2000 = add(2000);
    add2000(100); //2100
    

    相关文章

      网友评论

          本文标题:函数柯里化(currying)

          本文链接:https://www.haomeiwen.com/subject/hrfgmftx.html