欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年04月11日 13:43:42   作者:qdmoment  
這篇文章主要介紹了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)
  }
  // 參數長度滿足時,執(zhí)行函數
  : 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

函數柯里化的主要作用:

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

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

更多關于JavaScript相關內容可查看本站專題:《JavaScript常用函數技巧匯總》、《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結

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

相關文章

  • javascript實現頁面滾屏效果

    javascript實現頁面滾屏效果

    本文主要介紹了javascript實現頁面滾屏效果的方法,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • array.prototype.silce.call 理解分析

    array.prototype.silce.call 理解分析

    在很多框架中與遇到這個方法,但一時沒去研究這個方法,只要前段時間被問到,尷尬無奈收場。所以學習就要追根究底的精神,廢話少說,說正題。
    2010-04-04
  • javascript實現在某個元素上阻止鼠標右鍵事件的方法和實例

    javascript實現在某個元素上阻止鼠標右鍵事件的方法和實例

    這篇文章主要介紹了javascript實現在某個元素上阻止鼠標右鍵事件的方法和實例,需要的朋友可以參考下
    2014-08-08
  • JavaScript數據類型區(qū)別及檢測方法

    JavaScript數據類型區(qū)別及檢測方法

    在JavaScript中,數據類型是編程中非常重要的概念,它決定了數據的性質、如何存儲以及如何操作這些數據,本文介紹JavaScript數據類型區(qū)別及檢測方法,感興趣的朋友一起看看吧
    2024-04-04
  • 微信小程序實現圖形驗證碼

    微信小程序實現圖形驗證碼

    這篇文章主要為大家詳細介紹了微信小程序實現圖形驗證碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Javascript類型系統之String字符串類型詳解

    Javascript類型系統之String字符串類型詳解

    這篇文章主要介紹了Javascript類型系統之String字符串類型詳解的相關資料,需要的朋友可以參考下
    2016-06-06
  • ES6中Set和Map數據結構的簡單講解

    ES6中Set和Map數據結構的簡單講解

    大家心里是否產生過這樣的疑問,JS中既然已經有對象這種數據結構,我們?yōu)槭裁催€要再單獨去使用Set或者Map呢?下面這篇文章主要給大家介紹了關于ES6中Set和Map數據結構的相關資料,需要的朋友可以參考下
    2022-08-08
  • JavaScript隊列、優(yōu)先隊列與循環(huán)隊列

    JavaScript隊列、優(yōu)先隊列與循環(huán)隊列

    這篇文章主要為大家詳細介紹了JavaScript隊列、優(yōu)先隊列與循環(huán)隊列的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Threejs與Tween.js結合創(chuàng)建動畫的詳細圖文教程

    Threejs與Tween.js結合創(chuàng)建動畫的詳細圖文教程

    three.js和tween.js可以一起使用,實現復雜的動畫效果,包括飛線動畫,這篇文章主要給大家介紹了關于Threejs與Tween.js結合創(chuàng)建動畫的相關資料,需要的朋友可以參考下
    2024-01-01
  • 解決ie img標簽內存泄漏的問題

    解決ie img標簽內存泄漏的問題

    下面小編就為大家?guī)硪黄鉀Qie img標簽內存泄漏的問題。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論