今天,我發現在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