<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • JavaScript 函數(shù)式編程實(shí)踐

    時間:2024-09-10 00:01:43 JavaScript 我要投稿
    • 相關(guān)推薦

    JavaScript 函數(shù)式編程實(shí)踐

      函數(shù)式編程簡介

      說到函數(shù)式編程,人們的第一印象往往是其學(xué)院派,晦澀難懂,大概只有那些蓬頭散發(fā),不修邊幅,甚至有些神經(jīng)質(zhì)的大學(xué)教授們才會用的編程方式。這可能在歷史上的某個階段的確如此,但是近來函數(shù)式編程已經(jīng)在實(shí)際應(yīng)用中發(fā)揮著巨大作用了,而更有越來越多的語言不斷的加入諸如 閉包,匿名函數(shù)等的支持,從某種程度上來講,函數(shù)式編程正在逐步“同化”命令式編程。

      函數(shù)式編程思想的源頭可以追溯到 20 世紀(jì) 30 年代,數(shù)學(xué)家阿隆左 . 丘奇在進(jìn)行一項(xiàng)關(guān)于問題的可計(jì)算性的研究,也就是后來的 lambda 演算。lambda 演算的本質(zhì)為 一切皆函數(shù),函數(shù)可以作為另外一個函數(shù)的輸出或者 / 和輸入,一系列的函數(shù)使用最終會形成一個表達(dá)式鏈,這個表達(dá)式鏈可以最終求得一個值,而這個過程,即為計(jì)算的本質(zhì)。

      然而,這種思想在當(dāng)時的硬件基礎(chǔ)上很難實(shí)現(xiàn),歷史最終選擇了同丘奇的 lambda 理論平行的另一種數(shù)學(xué)理論:圖靈機(jī)作為計(jì)算理論,而采取另一位科學(xué)家馮 . 諾依曼的計(jì)算機(jī)結(jié)構(gòu),并最終被實(shí)現(xiàn)為硬件。由于第一臺計(jì)算機(jī)即為馮 . 諾依曼的程序存儲結(jié)構(gòu),因此運(yùn)行在此平臺的程序也繼承了這種基因,程序設(shè)計(jì)語言如 C/Pascal 等都在一定程度上依賴于此體系。

      到了 20 世紀(jì) 50 年代,一位 MIT 的教授 John McCarthy 在馮 . 諾依曼體系的機(jī)器上成功的實(shí)現(xiàn)了 lambda 理論,取名為 LISP(LISt Processor), 至此函數(shù)式編程語言便開始活躍于計(jì)算機(jī)科學(xué)領(lǐng)域。

      函數(shù)式編程語言特性

      在函數(shù)式編程語言中,函數(shù)是第一類的對象,也就是說,函數(shù) 不依賴于任何其他的對象而可以獨(dú)立存在,而在面向?qū)ο蟮恼Z言中,函數(shù) ( 方法 ) 是依附于對象的,屬于對象的一部分。這一點(diǎn) j 決定了函數(shù)在函數(shù)式語言中的一些特別的性質(zhì),比如作為傳出 / 傳入?yún)?shù),作為一個普通的變量等。

      區(qū)別于命令式編程語言,函數(shù)式編程語言具有一些專用的概念,我們分別進(jìn)行討論:

      匿名函數(shù)

      在函數(shù)式編程語言中,函數(shù)是可以沒有名字的,匿名函數(shù)通常表示:“可以完成某件事的一塊代碼”。這種表達(dá)在很多場合是有用的,因?yàn)槲覀冇袝r需要用函數(shù)完成某件事,但是這個函數(shù)可能只是臨時性的,那就沒有理由專門為其生成一個頂層的函數(shù)對象。

    【JavaScript 函數(shù)式編程實(shí)踐】相關(guān)文章:

    javascript編程異常處理的方法08-04

    淺析jQuery 遍歷函數(shù)javascript08-06

    Javascript函數(shù)的定義和用法分析08-15

    JavaScript中push(),join() 函數(shù)實(shí)例詳解09-05

    最常用的20個javascript方法函數(shù)09-10

    JavaScript日期時間格式化函數(shù)08-29

    JavaScript中常見的字符串操作函數(shù)及用法07-24

    關(guān)jQuery彈出窗口簡單實(shí)現(xiàn)代碼-javascript編程06-07

    有關(guān)javascript實(shí)現(xiàn)的多個層切換效果通用函數(shù)示例10-07

    JavaScript基于正則表達(dá)式數(shù)字判斷函數(shù)06-14

    主站蜘蛛池模板: www夜片内射视频日韩精品成人 | 久久国产精品-久久精品| 国产免费久久精品丫丫| 精品性影院一区二区三区内射| 久久九九久精品国产| 久久精品男人影院| 国产成人精品日本亚洲网站| 亚洲精品第一国产综合精品99| 国产精品人人做人人爽| 国产精品你懂得| 国产网红无码精品视频| 日韩人妻无码精品久久久不卡| 亚洲国产小视频精品久久久三级| 国产偷窥熟女高潮精品视频| 亚洲精品人成在线观看| 久久国产精品99精品国产987| 国产亚洲精品a在线无码| 四虎国产成人永久精品免费| 思思久久99热免费精品6| 久久精品国产国产精品四凭| 国产精品狼人久久久久影院| 久久福利青草精品资源站免费| 996久久国产精品线观看| 精品人妻无码一区二区色欲产成人| 亚洲国产精品无码久久一区二区| 久久亚洲精品无码观看不卡| 国产精品国产三级国产AⅤ| 亚洲第一精品在线视频| 国产精品专区第二| 韩国精品欧美一区二区三区| 国产精品1区2区| 国产精品一区二区不卡| 国产成人精品优优av| 国产日韩精品欧美一区喷水| 国内精品久久久久久99| 99re热视频这里只精品| 国产精品一国产精品| 国产精品亚洲专区在线观看 | 无码少妇精品一区二区免费动态| 亚洲国产精品13p| 亚洲精品国产字幕久久不卡|