需要注意的是如果用es6擴展寫法reduce那塊的代碼的改成
_add.toString = function() {
return _args.reduce((c, s) => c + +s, 0);
}
這里的s要做一下轉化逮刨,本來s是字符串,+s轉成Number這樣才能對得上斥废,要不然結果會變成字符串拼接比如add(1)(2)(3)得到的是123,而不是6给郊,還有要想console.log的隱式轉換生效要這樣寫console.log("" + add(1)(2)(3))這里為各位看官提供解釋說明牡肉,希望可以幫到大家,謝謝淆九。
詳解JS函數柯里化第一次看到柯里化這個詞的時候统锤,還是在看一篇算法相關的博客提到把函數柯里化,那時一看這個詞就感覺很高端炭庙,實際上當你了解了后才發(fā)現其實就是高階函數的一個特殊用法饲窿。 果然是不管作用...