JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

這篇文章主要介紹了JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些文章都會(huì)有所收獲,下面我們一起來看看吧。

普寧ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

一、變量的作用域

思考:聲明變量后就可以在任意位置使用該變量嘛?

回答:不是。

舉例:函數(shù)內(nèi)var關(guān)鍵字聲明的變量,不能在函數(shù)外訪問。

JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

總結(jié):變量的使用是有作用域范圍的。

作用域劃分:全局作用域、函數(shù)作用域和塊級(jí)作用域(ES6提供的)。

不同作用域?qū)?yīng)的變量:全局變量、局部變量、塊級(jí)變量(ES6提供的)。

JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

全局變量:不在任何函數(shù)內(nèi)聲明的變量(顯示定義)或在函數(shù)內(nèi)省略var聲明變量(隱式定義)都稱為全局變量。

作用范圍:它在同一個(gè)頁面文件中的所有腳本內(nèi)都可以使用。
JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

局部變量:在函數(shù)體內(nèi)利用var關(guān)鍵字定義的變量稱為局部變量,它僅在該函數(shù)體內(nèi)有效。
JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

塊級(jí)變量:ES6提供的let關(guān)鍵字聲明的變量稱為塊級(jí)變量,僅在“{}”中間有效,如if、for或while語句等。

垃圾回收機(jī)制

在JavaScript中,局部變量只有在函數(shù)的執(zhí)行過程中存在,而在這個(gè)過程中會(huì)為局部變量在(?;蚨眩﹥?nèi)存上分配相應(yīng)的空間,以存儲(chǔ)它們的值,然后在函數(shù)中使用這些變量,直到函數(shù)結(jié)束。而一旦函數(shù)執(zhí)行結(jié)束,局部變量就沒有存在必要了,此時(shí)JavaScript就會(huì)通過垃圾回收機(jī)制自動(dòng)釋放它們所占用的內(nèi)存空間。

在開發(fā)中若要保留局部變量的值,可以通過以下兩種方式實(shí)現(xiàn):

JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

二、匿名函數(shù)

概念:所謂函數(shù)表達(dá)式指的是將聲明的函數(shù)賦值給一個(gè)變量,通過變量完成函數(shù)的調(diào)用和參數(shù)的傳遞,它也是JavaScript中另一種實(shí)現(xiàn)自定義函數(shù)的方式。

函數(shù)表達(dá)式

JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

匿名函數(shù)

概念:匿名函數(shù)指的是沒有函數(shù)名稱的函數(shù)。

作用:可以有效的避免全局變量的污染以及函數(shù)名的沖突問題。

說明:既是函數(shù)表達(dá)式的另一種表示形式,又可通過函數(shù)聲明的方式實(shí)現(xiàn)調(diào)用。

JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

箭頭函數(shù)

概念: ES6中引入了一種新的語法編寫匿名函數(shù),我們稱之為箭頭函數(shù)。

特點(diǎn):一個(gè)箭頭函數(shù)表達(dá)式的語法比一個(gè)函數(shù)表達(dá)式更短。

JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

三、嵌套與遞歸

函數(shù)嵌套與作用域鏈

什么是嵌套函數(shù):是在一個(gè)函數(shù)內(nèi)部存在另一個(gè)函數(shù)的聲明。

特點(diǎn):內(nèi)層函數(shù)只能在外層函數(shù)作用域內(nèi)執(zhí)行,在內(nèi)層函數(shù)執(zhí)行的過程中,若需要引入某個(gè)變量,首先會(huì)在當(dāng)前作用域中尋找,若未找到,則繼續(xù)向上一層級(jí)的作用域中尋找,直到全局作用域,我們稱這種鏈?zhǔn)降牟樵冴P(guān)系為作用域鏈。

JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

遞歸調(diào)用

概念:遞歸調(diào)用是函數(shù)嵌套調(diào)用中一種特殊的調(diào)用。它指的是一個(gè)函數(shù)在其函數(shù)體內(nèi)調(diào)用自身的過程,這種函數(shù)稱為遞歸函數(shù)。

下面以計(jì)算階乘為例進(jìn)行演示。

JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些

注意

遞歸調(diào)用雖然在遍歷維數(shù)不固定的多維數(shù)組時(shí)非常合適,但它占用的內(nèi)存和資源比較多,同時(shí)難以實(shí)現(xiàn)和維護(hù),因此在開發(fā)中要慎重使用函數(shù)的遞歸調(diào)用。

案例

求斐波那契數(shù)列第N項(xiàng)的值

了解什么是斐波那契數(shù)列

斐波那契數(shù)列又稱黃金分割數(shù)列,如 “1, 1, 2, 3, 5, 8, 13, 21……”。

找規(guī)律: 這個(gè)數(shù)列從第3項(xiàng)開始,每一項(xiàng)都等于前兩項(xiàng)之和。

代碼實(shí)現(xiàn)思路

  • 小于0,給出錯(cuò)誤提示信息。

  • 等于0,返回0。

  • 等于1,返回1。

  • 大于1,按找到的規(guī)律并利用函數(shù)遞歸調(diào)用實(shí)現(xiàn)。

關(guān)于“JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:JavaScript匿名函數(shù)知識(shí)點(diǎn)有哪些
分享鏈接:http://muchs.cn/article2/gheeic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、云服務(wù)器App開發(fā)、自適應(yīng)網(wǎng)站、網(wǎng)站營銷、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名