如何理解并寫好柯里化

柯里化:

理解: 是一種函數(shù)式編程的思想洒忧,將原本接收多個(gè)參數(shù)的函數(shù)受神,轉(zhuǎn)變?yōu)榻邮芤粋€(gè)參數(shù), 使得js更好閱讀俺猿。

優(yōu)點(diǎn):
降低函數(shù)的使用范圍碘举,提高適用性
參數(shù)復(fù)用

列如:
正常正則校驗(yàn)函數(shù)封裝

// 列1:
const checkRegExp(a, b) {
    return a.test(b)
}
checkRegExp(/^1[3-9]{1}\d{9}/, '13883889393')

-------------------------------------
// 列2:
function addThreeNum (a, b, c) {
    return a + b + c;
}
addTreeNum(6, 9 ,10);// 返回結(jié)果為25

使用柯里化函數(shù) 優(yōu)化后:

// 柯里化 降低使用范圍灵莲,提高適用性
function Exp(regExp: RegExp) {
    return (str: string) => {
        return regExp.test(str)
    }
}

// 手機(jī)號(hào)校驗(yàn) checkingPhoneRegExp(phone)
export const checkingPhoneRegExp = Exp(/^1[3-9]{1}\d{9}/)

// 郵箱校驗(yàn) checkingEmailRegExp(email)
export const checkingEmailRegExp = Exp(/^[a-z0-9_\.-]+@[a-z0-9_\.-]+[a-z0-9]{2,6}$/i)


// 使用:
checkingPhoneRegExp(123123) // false
checkingPhoneRegExp(1583963587) // true
// 郵箱驗(yàn)證也是一樣

優(yōu)化過后的手機(jī)號(hào)校驗(yàn)看起來是不是更好理解~

當(dāng)然,不止可以手機(jī)號(hào)殴俱,郵箱政冻,范圍還可以更廣,可以校驗(yàn)密碼线欲、賬戶明场、數(shù)字,帶來更好的復(fù)用李丰,更方便使用

我在這里簡單把例子1 用柯里化思想處理過后
如果理解了可以試著把例子2 在優(yōu)化一下

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末苦锨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子趴泌,更是在濱河造成了極大的恐慌舟舒,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗜憔,死亡現(xiàn)場離奇詭異秃励,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)吉捶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門夺鲜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來皆尔,“玉大人,你說我怎么就攤上這事币励】度洌” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵食呻,是天一觀的道長流炕。 經(jīng)常有香客問我,道長仅胞,這世上最難降的妖魔是什么浪感? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮饼问,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘揭斧。我一直安慰自己莱革,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布讹开。 她就那樣靜靜地躺著盅视,像睡著了一般。 火紅的嫁衣襯著肌膚如雪旦万。 梳的紋絲不亂的頭發(fā)上闹击,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音成艘,去河邊找鬼赏半。 笑死,一個(gè)胖子當(dāng)著我的面吹牛淆两,可吹牛的內(nèi)容都是我干的断箫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼秋冰,長吁一口氣:“原來是場噩夢啊……” “哼仲义!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起剑勾,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤埃撵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后虽另,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體暂刘,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年捂刺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸳惯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片商蕴。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖芝发,靈堂內(nèi)的尸體忽然破棺而出绪商,到底是詐尸還是另有隱情,我是刑警寧澤辅鲸,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布格郁,位于F島的核電站,受9級(jí)特大地震影響独悴,放射性物質(zhì)發(fā)生泄漏例书。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一刻炒、第九天 我趴在偏房一處隱蔽的房頂上張望决采。 院中可真熱鬧,春花似錦坟奥、人聲如沸树瞭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晒喷。三九已至,卻和暖如春访敌,著一層夾襖步出監(jiān)牢的瞬間凉敲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工寺旺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留爷抓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓废赞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親叮姑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 1 什么是函數(shù)柯里化 在計(jì)算機(jī)科學(xué)中传透,柯里化(Currying)是把接受多個(gè)參數(shù)的函數(shù)變換成接受一個(gè)單一參數(shù)(最初...
    程序員既明閱讀 491評(píng)論 0 0
  • 柯里化定義理解 接受多個(gè)參數(shù)更改為接受單一參數(shù)(函數(shù)開始的那個(gè)參數(shù)),處理剩余參數(shù)并返回結(jié)果的一種技術(shù)朱盐。 柯里化作...
    我的小機(jī)靈閱讀 187評(píng)論 0 0
  • 在計(jì)算機(jī)科學(xué)中狂秘,柯里化(Currying)是把接受多個(gè)參數(shù)的函數(shù)變換成接受一個(gè)單一參數(shù)(最初函數(shù)的第一個(gè)參數(shù))的函...
    toyfish閱讀 1,073評(píng)論 1 1
  • 1.閉包的概念 在對(duì)作用域,作用域鏈的概念進(jìn)行討論時(shí)我們知道者春,一般情況下定義在函數(shù)內(nèi)部的變量在函數(shù)外部是不可訪問的...
    竹葉寨少主閱讀 1,709評(píng)論 0 10
  • 第一次看到柯里化這個(gè)詞的時(shí)候,還是在看一篇算法相關(guān)的博客提到把函數(shù)柯里化钱烟,那時(shí)一看這個(gè)詞就感覺很高端晰筛,實(shí)際上當(dāng)你了...
    flowsands閱讀 232,622評(píng)論 40 282