国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關(guān)于add方法的實(shí)現(xiàn)——undersore,lodash && ramda

happen / 3330人閱讀

摘要:方法簡答粗暴,我喜歡高階函數(shù)應(yīng)用,典型純函數(shù)式華麗的柯麗化應(yīng)用,往死里面套,然后使用起來,缺沒那么歇菜歇菜未來如果非要實(shí)現(xiàn)咋辦

Add 方法 undersore

</>復(fù)制代碼

  1. var add =function(a,b){
  2. return a+b;
  3. }

</>復(fù)制代碼

  1. 簡答粗暴,我喜歡

lodash

</>復(fù)制代碼

  1. function createMathOperation(fn){
  2. return function(...arg){
  3. return fn(arg)
  4. }
  5. }
  6. var add=createMathOperation((a,b)=>a+b)

</>復(fù)制代碼

  1. 高階函數(shù)應(yīng)用,典型純函數(shù)式

ramda

</>復(fù)制代碼

  1. funtion _cuurry1(fn){
  2. return function f1(a) {
  3. if (arguments.length === 0 || _isPlaceholder(a)) {
  4. return f1;
  5. } else {
  6. return fn.apply(this, arguments);
  7. }
  8. }
  9. }
  10. function _curry2(fn) {
  11. return function f2(a, b) {
  12. switch (arguments.length) {
  13. case 0:
  14. return f2;
  15. case 1:
  16. return _isPlaceholder(a) ? f2
  17. : _curry1(function(_b) { return fn(a, _b); });
  18. default:
  19. return _isPlaceholder(a) && _isPlaceholder(b) ? f2
  20. : _isPlaceholder(a) ? _curry1(function(_a) { return fn(_a, b); })
  21. : _isPlaceholder(b) ? _curry1(function(_b) { return fn(a, _b); })
  22. : fn(a, b);
  23. }
  24. };
  25. };
  26. var add=_curry2((a,b)=>a+b)

</>復(fù)制代碼

  1. 華麗的柯麗化應(yīng)用,往死里面套,然后使用起來,缺沒那么Hai

</>復(fù)制代碼

  1. add(1,2) ==> 3
  2. add(1)(2) ==> 3
  3. add(1,2)(3) ==> 歇菜
  4. add(1)(2)(3) ==> 歇菜
未來?

</>復(fù)制代碼

  1. 如果非要實(shí)現(xiàn) add(1,2)(3)(4,5) 咋辦?

</>復(fù)制代碼

  1. function curray(fn){
  2. return function(){
  3. var args=[].slice.call(arguments);
  4. var func=function(){
  5. [].push.apply(args,[].slice.call(arguments))
  6. return func;
  7. }
  8. func.toString=function(){
  9. return args.reduce(fn)
  10. }
  11. return func
  12. }
  13. }
  14. var add=curray(function(a,b){return a+b;})
  15. var a=add(1,2,3)(4)(5);

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/83635.html

相關(guān)文章

  • 翻譯連載 | 附錄 C:函數(shù)式編程函數(shù)庫-《JavaScript輕量級(jí)函數(shù)式編程》 |《你不知道J

    摘要:為了盡可能提升互通性,已經(jīng)成為函數(shù)式編程庫遵循的實(shí)際標(biāo)準(zhǔn)。與輕量級(jí)函數(shù)式編程的概念相反,它以火力全開的姿態(tài)進(jìn)軍的函數(shù)式編程世界。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 關(guān)于譯者:這是一個(gè)流淌著滬江血液的純粹工程:認(rèn)真,是 HTML 最堅(jiān)實(shí)的梁柱;分享,是 CSS 里最閃耀的一瞥;總結(jié),...

    Miracle 評(píng)論0 收藏0
  • 快速 TypeScript 化 lodash throttle &amp; debounce

    摘要:背景需要包寫起來爽,然而如果遇到?jīng)]有現(xiàn)成的化的工具函數(shù),就需要自己想辦法弄出一份類型聲明文件了。最為重要的是,這種遷移方面我們可以隨意自定義化中所需要的工具函數(shù),遷移粒度都可以由自己控制。 1、背景 1.1、需要 TS 包 TypeScript 寫起來爽,然而如果遇到?jīng)]有現(xiàn)成的 TS 化的工具函數(shù),就需要自己想辦法弄出一份類型聲明文件了。 前兩天要寫的小工具庫(Typescript 語...

    lewinlee 評(píng)論0 收藏0
  • 如何開發(fā)JS-SDK

    一、前言最近在開發(fā)一款一鍵登錄的號(hào)碼認(rèn)證js-sdk,所以就做了一些調(diào)研,記錄下開發(fā)過程。前端SDK是什么?前端SDK是為了幫助前端實(shí)現(xiàn)特定需求,而向開發(fā)者暴露的一些JS-API的集合,規(guī)范的SDK包括若干API實(shí)現(xiàn)、說明文檔等前端SDK其實(shí)很常見了,比如:UI組件庫:通過封裝一系列組件,通過配置幫助開發(fā)者調(diào)用AntdElementUIJS類庫:通過實(shí)現(xiàn)一類常用的方法,便于開發(fā)處理數(shù)據(jù),也不用再考...

    社區(qū)管理員 評(píng)論0 收藏0
  • Lodash 源碼分析(三)Array

    摘要:前言這是源碼分析系列文章的第三篇,前面兩篇文章源碼分析一源碼分析二分別分析了中的一些重要函數(shù),也給出了簡化的實(shí)現(xiàn),為理解其內(nèi)部機(jī)理和執(zhí)行方式提供了便利。官方也對(duì)其進(jìn)行了說明。 前言 這是Lodash源碼分析系列文章的第三篇,前面兩篇文章(Lodash 源碼分析(一)Function Methods、Lodash 源碼分析(二)Function Methods)分別分析了Lodash F...

    ZoomQuiet 評(píng)論0 收藏0
  • Python單元測(cè)試兩種方法解答

      小編這這篇文章的主要目的,主要是給大家進(jìn)行一個(gè)詳解,解釋一下關(guān)于Python中,單元格測(cè)試的一些具體方法,那么,測(cè)試的方法都有什么呢?下面小編就給大家詳細(xì)的做出一個(gè)解答。  一、前言  python的兩個(gè)單元測(cè)試包分別是doctest和unittest,這兩個(gè)包的使用起來各有長處,適用于不同的場(chǎng)景  doctest:直接寫在方法體中,利用了python動(dòng)態(tài)語言的特性,書寫方式簡單明了,前提是項(xiàng)...

    89542767 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<