這篇文章主要為大家展示了js如何實(shí)現(xiàn)函數(shù)柯里化,內(nèi)容簡而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。
創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、任縣網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為任縣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
本文實(shí)例講述了js函數(shù)柯里化的方法和作用。分享給大家供大家參考,具體如下:
函數(shù)柯里化的方法:
1,利用數(shù)組的reduce方法可實(shí)現(xiàn)柯里化,具體參見我的另外一篇文章
2,代碼如下
const curry = (fn, ...args) =>{
console.log('args',args)
// console.log(fn.length,args.length)
return args.length < fn.length
// 參數(shù)長度不足時,重新柯里化該函數(shù),等待接受新參數(shù)
? (...arguments) => {
console.log('arguments',arguments)
return curry(fn, ...args, ...arguments)
}
// 參數(shù)長度滿足時,執(zhí)行函數(shù)
: fn(...args);
}
function sumFn(a, b, c) {
return a + b + c;
}
var sum = curry(sumFn);
const one = sum(2)
console.log('one:',one.toString())
const two = one(3)
console.log('two:',two.toString())
const three = two(5)
console.log('three:',three.toString())
//console.log(sum(2)(3)(5));//10
// console.log(sum(2, 3, 5));//10
// console.log(sum(2)(3, 5));//10
// console.log(sum(2, 3)(5));//10
函數(shù)柯里化的主要作用:
以上就是關(guān)于js如何實(shí)現(xiàn)函數(shù)柯里化的內(nèi)容,如果你們有學(xué)習(xí)到知識或者技能,可以把它分享出去讓更多的人看到。
新聞標(biāo)題:js如何實(shí)現(xiàn)函數(shù)柯里化
地址分享:http://www.chinadenli.net/article26/gisocg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、網(wǎng)站設(shè)計(jì)公司、做網(wǎng)站、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)