成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

柯里化簡介

songjz / 2850人閱讀

摘要:與反柯里化什么是柯里化與反柯里化純函數(shù)函數(shù)結(jié)果只受傳入?yún)?shù)影響,參數(shù)一定,結(jié)果一定。寫法柯里化接受一次性傳入多個參數(shù)調(diào)用的函數(shù),也可以傳入部分參數(shù)調(diào)用,最后使它返回一個單一參數(shù)的函數(shù)去處理,并且返回。

call與apply反柯里化? 什么是柯里化與反柯里化?
純函數(shù)
函數(shù)結(jié)果只受傳入?yún)?shù)影響,參數(shù)一定,結(jié)果一定。
高階函數(shù)
一個函數(shù)可以接收另一個函數(shù)作為參數(shù),這種函數(shù)稱為高階函數(shù)。

function add (x,y,foo){
  return foo(x) + foo(y)
}
add(1,2,Math.abs) =>3

// es6寫法

let add2 = (x,y,foo) => foo(x)+foo(y)
console.log(add2(-1,2,Math.abs)) =>3

柯里化(Currying)
接受一次性傳入多個參數(shù)調(diào)用的函數(shù),也可以傳入部分參數(shù)調(diào)用,最后使它返回一個單一參數(shù)的函數(shù)去處理,并且返回。其中也可以傳入函數(shù)作為參數(shù),相當靈活。

let add =(a,b)=>a+b
console.log(add(1,2))
// 正常寫法,需要傳遞兩個參數(shù)給add
// add(1)=>NAN(缺少一個參數(shù))
let add2 = a=>b=>a+b
console.log(add2(1)(2))
// 柯里化寫法,將參數(shù)變換成一個,延遲函數(shù)參數(shù)的傳入
// add2(1) => function(b) {return a+ b}

柯里化特點
延遲參數(shù)傳遞,參數(shù)復(fù)用
代碼短小,優(yōu)雅,函數(shù)化,有點不好理解
多重箭頭函數(shù)與柯里化
ES5

let add = function(x){
  return function(y){
    return x+y
  }
}
console.log(add(2)(4)) =>6

箭頭函數(shù)

let add = x => y =>x+y
console.log(add(2)(4))

函數(shù)作為參數(shù)

var add = function(x) {
  return function(y) {
    return x + y;
  }
}
console.log(add(1)(1)); //output 2
var add1 = add(1);
// try to compare this! add1, add1() and add1(1)
console.log(add1(1)); //output 2
var add10 = add(10);
console.log(add10(1)); //output 11

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/106181.html

相關(guān)文章

  • js 擴展 -- currying 柯里函數(shù)

    摘要:里也有柯里化的實現(xiàn),只是平時沒有在意。如果函數(shù)柯里化后雖然生搬硬套,不過現(xiàn)實業(yè)務(wù)也會有類似場景。 柯里化 先解釋下什么是 柯里化 在計算機科學中,柯里化(英語:Currying),又譯為卡瑞化或加里化,是把接受多個參數(shù)的函數(shù)變換成接受一個單一參數(shù)(最初函數(shù)的第一個參數(shù))的函數(shù),并且返回接受余下的參數(shù)而且返回結(jié)果的新函數(shù)的技術(shù)。 js 里也有柯里化的實現(xiàn),只是平時沒有在意。先把原文簡介貼...

    Pocher 評論0 收藏0
  • JavaScript 函數(shù)式編程技巧 - 反柯里

    摘要:作為函數(shù)式編程語言,帶來了很多語言上的有趣特性,比如柯里化和反柯里化。而反柯里化,從字面講,意義和用法跟函數(shù)柯里化相比正好相反,擴大適用范圍,創(chuàng)建一個應(yīng)用范圍更廣的函數(shù)。作為函數(shù)式編程語言,JS帶來了很多語言上的有趣特性,比如柯里化和反柯里化。 可以對照另外一篇介紹 JS 柯里化 的文章一起看~ 1. 簡介 柯里化,是固定部分參數(shù),返回一個接受剩余參數(shù)的函數(shù),也稱為部分計算函數(shù),目的是為了縮...

    zhjx922 評論0 收藏0
  • 函數(shù)式編程了解一下(上)

    摘要:一直以來沒有對函數(shù)式編程有一個全面的學習和使用,或者說沒有一個深刻的思考。是不是輕松了其實函數(shù)式編程主張的就是以抽象的方式創(chuàng)建函數(shù)。后面咱們在系統(tǒng)性的學習下函數(shù)式編程。 一直以來沒有對函數(shù)式編程有一個全面的學習和使用,或者說沒有一個深刻的思考。最近看到一些博客文章,突然覺得函數(shù)式編程還是蠻有意思的??戳诵臀恼隆_@里記載下感悟和收獲。 歡迎團隊姜某人多多指點@姜少。 由于博客秉持著簡...

    int64 評論0 收藏0
  • JavaScript 函數(shù)式編程技巧 - 柯里

    摘要:作為函數(shù)式編程語言,帶來了很多語言上的有趣特性,比如柯里化和反柯里化。在一些函數(shù)式編程語言中,會定義一個特殊的占位變量。個人理解不知道對不對延遲執(zhí)行柯里化的另一個應(yīng)用場景是延遲執(zhí)行。不斷的柯里化,累積傳入的參數(shù),最后執(zhí)行。作為函數(shù)式編程語言,JS帶來了很多語言上的有趣特性,比如柯里化和反柯里化。 這里可以對照另外一篇介紹 JS 反柯里化 的文章一起看~ 1. 簡介 柯里化(Currying)...

    edgardeng 評論0 收藏0
  • JS中的柯里

    摘要:作為函數(shù)式編程語言,帶來了很多語言上的有趣特性,比如柯里化和反柯里化。個人理解不知道對不對延遲執(zhí)行柯里化的另一個應(yīng)用場景是延遲執(zhí)行。不斷的柯里化,累積傳入的參數(shù),最后執(zhí)行。 作為函數(shù)式編程語言,JS帶來了很多語言上的有趣特性,比如柯里化和反柯里化。 這里可以對照另外一篇介紹 JS 反柯里化 的文章一起看~ 1. 簡介 柯里化(Currying),又稱部分求值(Partial Evalu...

    Hancock_Xu 評論0 收藏0

發(fā)表評論

0條評論

songjz

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<