還不理解函數(shù)式編程?

什么是函數(shù)式編程

函數(shù)式編程(Functional Programming, FP),FP是編程范式之一,可以認(rèn)為是一種編程風(fēng)格,是一種思維模式和實現(xiàn)的方法,我們經(jīng)常聽說的編程范式還有面向過程編程、面向?qū)ο缶幊痰?

  • 面向過程編程的思維方式:簡單來說就是按照步驟來實現(xiàn),一步一步來實現(xiàn)我們想要的功能浩峡。
  • 面向?qū)ο缶幊痰乃季S方式:把現(xiàn)實世界中的事物抽象成編程世界中的類和對象,通過封裝可岂、繼承和多態(tài)來演示事物之間的內(nèi)在聯(lián)系
  • 函數(shù)式編程的思維方式:把現(xiàn)實世界中的事物和事物之間的聯(lián)系抽象到程序世界 (對運算的過程進行抽象)
    • 程序的本質(zhì):根據(jù)輸入通過某種運算獲得相應(yīng)的輸出,在程序開發(fā)過程中會涉及很多有輸入和輸出的函數(shù)
    • x-f(聯(lián)系,映射)->y, y=f(x),x就是輸入,f運算過程就是函數(shù)式編程中的函數(shù),y就是結(jié)果輸出,通過y=f(x)來表述運算過程
    • 函數(shù)式編程中的函數(shù)指的不是程序中的函數(shù)(方法),而是數(shù)學(xué)中的函數(shù)即映射關(guān)系,例如: y= cos(x),cos就是函數(shù)用來描述y與x的關(guān)系,一但x確定了y也就確定了
    • 相同的輸入始終要得到相同的輸出(純函數(shù))

總結(jié)來說:函數(shù)式編程就是對運算過程的抽象

說了這么多來個簡單例子鞏固下

比如說求2個數(shù)的和然后輸出結(jié)果

//非函數(shù)式編程
let num1 = 2;
let num2 = 2;
let sum = num1 + num2;
console.log(sum);

//函數(shù)式編程
function add (n1, n2) {
  return n1 + n2;
}
let sum = add(1, 2);

非函數(shù)式編程的方式是先定義2個變量(num1和num2),然后2個數(shù)在相加賦值給新的變量(sum),最后在打印,是通過步驟一步一步來實現(xiàn)的,是面向過程的方式.
函數(shù)式編程的思想,對運算過程進行抽象,要計算2個數(shù)的和,首先抽象一個函數(shù)(add)用來計算2個數(shù)的和,這個函數(shù)接受2個參數(shù),當(dāng)函數(shù)運算完畢返回一個計算結(jié)果,定義完函數(shù)可以調(diào)用這個函數(shù)了.
相對于非函數(shù)式編程,當(dāng)使用函數(shù)式編程就一定會定義一些函數(shù),這些函數(shù)也就可以被復(fù)用,并且定義的函數(shù)也一定是顆粒度很細的函數(shù),將來也可以把這些函數(shù)在組合生成功能更加強大的函數(shù),還有很多優(yōu)勢就不一一在說了,有興趣的同學(xué)可以自行查閱.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者翰灾。
  • 序言:七十年代末缕粹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子纸淮,更是在濱河造成了極大的恐慌平斩,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萎馅,死亡現(xiàn)場離奇詭異双戳,居然都是意外死亡,警方通過查閱死者的電腦和手機糜芳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門飒货,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人峭竣,你說我怎么就攤上這事塘辅。” “怎么了皆撩?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵扣墩,是天一觀的道長哲银。 經(jīng)常有香客問我,道長呻惕,這世上最難降的妖魔是什么荆责? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮亚脆,結(jié)果婚禮上做院,老公的妹妹穿的比我還像新娘。我一直安慰自己濒持,他們只是感情好键耕,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柑营,像睡著了一般屈雄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上官套,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天酒奶,我揣著相機與錄音,去河邊找鬼虏杰。 笑死讥蟆,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的纺阔。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼修然,長吁一口氣:“原來是場噩夢啊……” “哼笛钝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起愕宋,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤玻靡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后中贝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體囤捻,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年邻寿,在試婚紗的時候發(fā)現(xiàn)自己被綠了蝎土。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡绣否,死狀恐怖誊涯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蒜撮,我是刑警寧澤暴构,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響取逾,放射性物質(zhì)發(fā)生泄漏耗绿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一砾隅、第九天 我趴在偏房一處隱蔽的房頂上張望误阻。 院中可真熱鬧,春花似錦琉用、人聲如沸堕绩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奴紧。三九已至,卻和暖如春晶丘,著一層夾襖步出監(jiān)牢的瞬間黍氮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工浅浮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沫浆,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓滚秩,卻偏偏與公主長得像专执,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子郁油,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

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

  • 這篇文章是在學(xué)習(xí)函數(shù)式編程時的學(xué)習(xí)筆記本股,里面有很多自己對函數(shù)式編程的理解,有些理解可能不一定準(zhǔn)確桐腌,希望對大家學(xué)習(xí)函...
    少_游閱讀 475評論 0 0
  • 概論 在過去的近十年的時間里拄显,面向?qū)ο缶幊檀笮衅涞馈R灾劣谠诖髮W(xué)的教育里案站,老師也只會教給我們兩種編程模型躬审,面向過程...
    熱血沸騰閱讀 1,434評論 0 8
  • 什么是函數(shù)式編程? 函數(shù)式編程(FP)是基于一個簡單又意義深遠的前提的:只用純函數(shù)來構(gòu)建程序蟆盐。這句話的深層意思是承边,...
    Tangpj閱讀 1,698評論 0 10
  • 前言 在討論函數(shù)式編程(Functional Programming)的具體內(nèi)容之前炒刁,我們首先看一下函數(shù)式編程的含...
    小技術(shù)君閱讀 475評論 0 6
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭誊稚,有人歡樂有人憂愁翔始,有人驚喜有人失落罗心,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,531評論 28 53