今天,我发现在JavaScript中加入2号的一种奇怪的方式:语法'foo(a)(b)`可能有用吗?
基本方法的调用看起来是这样的:add(5)(6)
和方法的声明是:
function add(x) {
return function(y) { return x + y; };
}
好吧,我得到了它。 add
函数不会返回一个数字,但会返回将第一个数字与第二个数字相加的匿名函数。但是,这有什么意义(它有多大帮助)?
除了困惑其他人或编写某种混淆的恶意软件之外,它究竟有用吗?
你在问什么能够返回函数的意思,或者你在问什么具有curried'add'函数的点是?这个特例可能不是最普遍有用的东西,但它不应该是。 – Ryan 2014-10-02 23:23:20
我的猜测是他们认为将参数集链接在一起,而不是多次写入函数名称看起来更酷。 :) – 2014-10-02 23:24:51
@minitech我在问foo(a)(b)怎么会有帮助。添加功能只是一个例子。谢谢你告诉这个技术的名字。 – 2014-10-02 23:24:58