let dragon =
name =>
size =>
element =>
`$ is a $ dragon that breathes $ !`
let output = dragon('chasen')('large')('ice')
console.log(output) // chasen is a large dragon that breathes ice !
有沒有感覺?函式返回函式返回函式,引數快取!這種**要慢慢細品,像熬粥一樣慢慢。
再來乙個加法函式
function add()
// tostring**轉化的特性
_adder.tostring = function () , 0);
} return _adder;
}console.log(add(1)); // 1
console.log(add(1,1,2)(4,3) == 11); // true
console.log(add(3,5)); // 8
lodash 提供了乙個curry函式
import _ from 'lodash'
let dragons = [
, ,
, ]let haselement =
_.curry((element, obj)=> obj.element === element);
let lightingdragons =
dragons.filter(haselement('lighting'))
console.log(lightingdragons)
//0:
//1:
js學習筆記 柯里化
柯里化是指將使用多個引數的函式轉換成一系列使用乙個引數的函式的技術。柯里化的用途主要是引數復用,例如 function add a,b add 1,2 3在柯里化之後或許可以這樣使用 var addcurry curry add addcurry 1 2 3或許針對這種簡單的將兩個數相加的場景,柯里...
柯里化函式組合的學習
2020 09 19 柯里化函式組合的學習 說明 思路 never say die never say die const require lodash join函式改寫 柯里化的join 在組合中 可以事先傳入使用哪種方式組合 const join curry sep,arr arr.join s...
JS高階程式設計閱讀筆記 函式柯里化
函式柯里化是什麼?函式柯里化是把接受多個引數的函式變換成接受乙個單一引數 最初函式的第乙個引數 的函式,並且返回接受餘下的引數而且返回結果的新函式的技術 普通的add函式 function add x,y currying後 function curryingadd x add 1,2 3 curr...