如何使add(a)(b)等于a + b?

时间:2014-12-07 06:31:38

标签: javascript

如何实现可以进行的功能添加

add(a)(b)

等于a + b,例如,

add(2)(3); //5

2 个答案:

答案 0 :(得分:2)

函数add需要返回一个带有一个参数的函数。

一般来说,这种做法称为currying:https://medium.com/@kbrainwave/currying-in-javascript-ce6da2d324fe

答案 1 :(得分:1)

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

add函数返回另一个函数,所以add(3)yield

function(b){
    return 3+b;
}

然后加入(3)(2)产率5,即3 + 2。