1、什么事柯里化
在計(jì)算機(jī)科學(xué)中米酬,柯里化(Currying)是把接受多個(gè)參數(shù)的函數(shù)變換成接受一個(gè)單一參數(shù)(最初函數(shù)的第一個(gè)參數(shù))的函數(shù)沛豌,并且返回接受余下的參數(shù)且返回結(jié)果的新函數(shù)的技術(shù)趋箩。柯里化的目的是減少代碼冗余加派。它可以實(shí)現(xiàn)參數(shù)復(fù)用叫确、提前確認(rèn)、延遲運(yùn)行等芍锦。
比如我們常見(jiàn)的add方法:
//?add(1);????????????//?1
//?add(1)(2);?????//?3
//?add(1)(2)(3); //?6
//?add(1)(2,?3);? //?6
//?add(1,?2)(3);? //?6
add(1,?2,?3);???? //?6
2竹勉、柯里化的封裝
3、常見(jiàn)的考題
實(shí)現(xiàn)一個(gè)add方法娄琉,使計(jì)算結(jié)果能夠滿足如下預(yù)期:add(1)(2)(3)=6;add(1,2,3)(4)=10;add(1)(2)(3)(4)(5)=15;
總結(jié):函數(shù)的柯里化次乓,是 Javascript 中函數(shù)式編程的一個(gè)重要概念。它返回的孽水,是一個(gè)函數(shù)的函數(shù)票腰。其實(shí)現(xiàn)方式,需要依賴參數(shù)以及遞歸女气,通過(guò)拆分參數(shù)的方式杏慰,來(lái)調(diào)用一個(gè)多參數(shù)的函數(shù)方法,以達(dá)到減少代碼冗余炼鞠,增加可讀性的目的缘滥。