1. 程式人生 > 程式設計 >js函式柯里化的方法和作用例項分析

js函式柯里化的方法和作用例項分析

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

函式柯里化的方法:

1,利用陣列的reduce方法可實現柯里化,具體參見我的另外一篇文章

2,程式碼如下

const curry = (fn,...args) =>{
   console.log('args',args)
  // console.log(fn.length,args.length)
  return args.length < fn.length
  // 引數長度不足時,重新柯里化該函式,等待接受新引數
  ? (...arguments) => {
    console.log('arguments',arguments)
    return curry(fn,...args,...arguments)
  }
  // 引數長度滿足時,執行函式
  : 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

js函式柯里化的方法和作用例項分析

函式柯里化的主要作用:

  • 引數複用。
  • 提前返回 – 返回接受餘下的引數 且返回結果的 新函式。
  • 延遲執行 – 返回新函式,等待執行。

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

更多關於JavaScript相關內容可檢視本站專題:《JavaScript常用函式技巧彙總》、《javascript面向物件入門教程》、《JavaScript錯誤與除錯技巧總結》、《JavaScript資料結構與演算法技巧總結》及《JavaScript數學運算用法總結》

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