在計算機科學中,柯里化是把接受多個參數的函數變換成接受一個單一參數(最初函數的第一個參數)的函數,并且返回接受余下的參數而且返回結果的新函數的技術。——詳見 維基百科
柯里化就是預先將某些參數傳入,得到一個簡單的函數。但是預先傳入的參數被保存在閉包中,因此會有一些奇特的特性。比如:
例:
var adder = function(num) {
return function(y) {
return num + y;
}
}
var inc = adder(1);
var dec = adder(-1);
//inc, dec現在是兩個新的函數,作用是將傳入的參數值(+/-)1
alert(inc(99));//100
alert(dec(101));//100
alert(adder(100)(2));//102
alert(adder(2)(100));//102