亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

JavaScript

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

時(shí)間:2024-07-04 11:17:24 JavaScript 我要投稿
  • 相關(guān)推薦

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

  函數(shù)式編程簡(jiǎn)介

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

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

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

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

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

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

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

  匿名函數(shù)

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

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

2016年嵌入式QT編程小技巧07-16

如何調(diào)試javascript腳本呢07-19

javascript跨域訪問(wèn)的方法07-19

excel函數(shù)07-30

數(shù)控編程代碼大全02-13

2023嵌入式系統(tǒng)開(kāi)發(fā)工程師考試綜合編程題08-09

PHP Socket編程過(guò)程02-09

excel函數(shù)[優(yōu)選]07-31

數(shù)控機(jī)床編程步驟11-08

EXCEL函數(shù)公式大全08-01