Javascript 如何编写一个可以用两对括号调用的函数?

Javascript 如何编写一个可以用两对括号调用的函数?,javascript,Javascript,最近,我被要求编写add(a)(b)函数,它将返回a+b。我不知道如何用javascript编写这个排序函数如何编写此函数以使其返回a+b?编写一个返回函数的函数: function add(a) { return function(b) { return a + b } } function add( a ) { return function( b ) { return a + b; } } add(1)(2) -->

最近,我被要求编写
add(a)(b)
函数,它将返回
a+b
。我不知道如何用javascript编写这个排序函数如何编写此函数以使其返回a+b?

编写一个返回函数的函数:

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

add(1)(2) --> 3

在JavaScript中,函数可以像普通对象一样使用。事实上

add
需要返回一个函数:

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

add(1)(2) --> 3

只是
a
b
?或者有没有可能让
添加(a)(b)(c)(d)
?这就是所谓的“咖喱”,OP似乎在问一个概念,OP只是举了一个例子。他们可以想要任何他们想要的,所以我想确保这不仅仅是一个简单的例子。有很多方法可以实现我的建议,但这很烦人。例如,在不传递任何参数的情况下最后一次调用函数(表示它是链的末端)。“不可能”是一个很强的概念word@Ian-我打算建议
添加(a)(b)(c)(d)(
语法,是的。“这应该行得通。”贾斯汀·摩根——是的。此外,阅读代码也很糟糕。刚刚指出了一种可能性。哇,这么快就得到了9票!我的一些最佳答案只有9票:(@Evan Heh,我也很惊讶:P这可能会成为我的第一个反转徽章,事实上:P“…可以像普通变量一样使用”你的意思是“像普通对象一样”吗?函数是普通对象。你可以像变量一样使用它们。@sgroves:那没有意义。