亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js函數(shù)柯里化的方法和作用實例分析

 更新時間:2020年04月11日 13:43:42   作者:qdmoment  
這篇文章主要介紹了js函數(shù)柯里化的方法和作用,結(jié)合實例形式分析了js函數(shù)柯里化的方法、功能及操作注意事項,需要的朋友可以參考下

本文實例講述了js函數(shù)柯里化的方法和作用。分享給大家供大家參考,具體如下:

函數(shù)柯里化的方法:

1,利用數(shù)組的reduce方法可實現(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ù)柯里化的主要作用:

  • 參數(shù)復用。
  • 提前返回 – 返回  接受余下的參數(shù)  且返回結(jié)果  的  新函數(shù)。
  • 延遲執(zhí)行 – 返回新函數(shù),等待執(zhí)行。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內(nèi)容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構與算法技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)

希望本文所述對大家JavaScript程序設計有所幫助。

相關文章

最新評論