本文實例講述了JS高階函數(shù)原理與用法。分享給大家供大家參考,具體如下:
邯鄲網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。如果您正在學(xué)習(xí)JavaScript,那么您必須遇到高階函數(shù)這個術(shù)語。這聽起來復(fù)雜,其實不然。
使JavaScript適合函數(shù)式編程的原因是它接受高階函數(shù)。
高階函數(shù)在JavaScript中廣泛使用。如果你已經(jīng)用JavaScript編程了一段時間,你可能已經(jīng)使用它們甚至不知道。
要完全理解這個概念,首先必須了解函數(shù)式編程是什么一等函數(shù)(first-Class Function)以及的概念。
在大多數(shù)簡單的術(shù)語中,函數(shù)編程是一種編程形式,您可以將函數(shù)作為參數(shù)傳遞給其他函數(shù),并將它們作為值返回。在函數(shù)式編程中,我們根據(jù)函數(shù)思考和編碼。
JavaScript,Haskell,Clojure,Scala和Erlang是實現(xiàn)函數(shù)式編程的一些語言。
如果您一直在學(xué)習(xí)JavaScript,您可能聽說過JavaScript將函數(shù)視為一等公民。那是因為在JavaScript或任何其他函數(shù)式編程語言中,函數(shù)是對象。
在JavaScript中,函數(shù)是一種特殊類型的對象。他們是Function對象。
在JavaScript中,您可以使用其他類型(如對象,字符串或數(shù)字)執(zhí)行的所有操作函數(shù)都可以執(zhí)行。您可以將它們作為參數(shù)傳遞給其他函數(shù)(回調(diào)函數(shù)),將它們分配給變量并傳遞它們等等。這就是JavaScript中的函數(shù)被稱為First-Class函數(shù)(一等函數(shù))的原因。
高階函數(shù)是對其他函數(shù)進(jìn)行操作的函數(shù),可以將它們作為參數(shù)或通過返回它們。簡單來說,高階函數(shù)是一個函數(shù),它接收函數(shù)作為參數(shù)或?qū)⒑瘮?shù)作為輸出返回。
例如Array.prototype.map
,Array.prototype.filter
并且Array.prototype.reduce
是一些高階功能,內(nèi)置的語言。
讓我們看一下內(nèi)置高階函數(shù)的一些例子,看看它與我們不使用高階函數(shù)的解決方案的比較。
該map()
方法通過調(diào)用作為輸入數(shù)組中每個元素的參數(shù)提供的回調(diào)函數(shù)來創(chuàng)建一個新數(shù)組。該map()
方法將從回調(diào)函數(shù)中獲取每個返回值,并使用這些值創(chuàng)建一個新數(shù)組。
傳遞給回調(diào)函數(shù)map()
方法接受3個參數(shù):element,index,和array。
假設(shè)我們有一個數(shù)組,我們想要創(chuàng)建一個新數(shù)組,其中包含第一個數(shù)組的每個值的兩倍。讓我們看看如何使用和不使用高階函數(shù)來解決問題。
不用高階函數(shù)
const arr1 = [1,2,3]; const arr2 = []; for(let i = 0; i另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前名稱:JS高階函數(shù)原理與用法實例分析-創(chuàng)新互聯(lián)
地址分享:http://weahome.cn/article/deehip.html