歸納整理JavaScript匿名函數知識點

本篇文章給大家帶來了關于javascript的相關知識 , 其中主要介紹了匿名函數的相關問題 , 還包括了嵌套與遞歸的相關內容 , 希望對大家有幫助 。

歸納整理JavaScript匿名函數知識點

文章插圖

【相關推薦:javascript視頻教程】
一、變量的作用域
思考:聲明變量后就可以在任意位置使用該變量嘛?
回答:不是 。
舉例:函數內var關鍵字聲明的變量 , 不能在函數外訪問 。
歸納整理JavaScript匿名函數知識點

文章插圖

總結:變量的使用是有作用域范圍的 。
作用域劃分:全局作用域、函數作用域和塊級作用域(ES6提供的) 。
不同作用域對應的變量:全局變量、局部變量、塊級變量(ES6提供的) 。
歸納整理JavaScript匿名函數知識點

文章插圖

全局變量:不在任何函數內聲明的變量(顯示定義)或在函數內省略var聲明變量(隱式定義)都稱為全局變量 。
作用范圍:它在同一個頁面文件中的所有腳本內都可以使用 。
歸納整理JavaScript匿名函數知識點

文章插圖

局部變量:在函數體內利用var關鍵字定義的變量稱為局部變量 , 它僅在該函數體內有效 。
歸納整理JavaScript匿名函數知識點

文章插圖

塊級變量:ES6提供的let關鍵字聲明的變量稱為塊級變量 , 僅在“{}”中間有效 , 如if、for或while語句等 。
垃圾回收機制
在JavaScript中 , 局部變量只有在函數的執行過程中存在 , 而在這個過程中會為局部變量在(?;蚨眩﹥却嫔戏峙湎鄳目臻g , 以存儲它們的值 , 然后在函數中使用這些變量 , 直到函數結束 。 而一旦函數執行結束 , 局部變量就沒有存在必要了 , 此時JavaScript就會通過垃圾回收機制自動釋放它們所占用的內存空間 。
在開發中若要保留局部變量的值 , 可以通過以下兩種方式實現:
歸納整理JavaScript匿名函數知識點

文章插圖

二、匿名函數
概念:所謂函數表達式指的是將聲明的函數賦值給一個變量 , 通過變量完成函數的調用和參數的傳遞 , 它也是JavaScript中另一種實現自定義函數的方式 。
函數表達式
歸納整理JavaScript匿名函數知識點

文章插圖

匿名函數概念:匿名函數指的是沒有函數名稱的函數 。
作用:可以有效的避免全局變量的污染以及函數名的沖突問題 。
說明:既是函數表達式的另一種表示形式 , 又可通過函數聲明的方式實現調用 。
歸納整理JavaScript匿名函數知識點

文章插圖

箭頭函數概念: ES6中引入了一種新的語法編寫匿名函數 , 我們稱之為箭頭函數 。
特點:一個箭頭函數表達式的語法比一個函數表達式更短 。
歸納整理JavaScript匿名函數知識點

文章插圖

歸納整理JavaScript匿名函數知識點

文章插圖

三、嵌套與遞歸
函數嵌套與作用域鏈【歸納整理JavaScript匿名函數知識點】什么是嵌套函數:是在一個函數內部存在另一個函數的聲明 。
特點:內層函數只能在外層函數作用域內執行 , 在內層函數執行的過程中 , 若需要引入某個變量 , 首先會在當前作用域中尋找 , 若未找到 , 則繼續向上一層級的作用域中尋找 , 直到全局作用域 , 我們稱這種鏈式的查詢關系為作用域鏈 。
歸納整理JavaScript匿名函數知識點

文章插圖

遞歸調用概念:遞歸調用是函數嵌套調用中一種特殊的調用 。 它指的是一個函數在其函數體內調用自身的過程 , 這種函數稱為遞歸函數 。
下面以計算階乘為例進行演示 。
歸納整理JavaScript匿名函數知識點

文章插圖

注意
遞歸調用雖然在遍歷維數不固定的多維數組時非常合適 , 但它占用的內存和資源比較多 , 同時難以實現和維護 , 因此在開發中要慎重使用函數的遞歸調用 。
案例求斐波那契數列第N項的值
了解什么是斐波那契數列
斐波那契數列又稱黃金分割數列 , 如 “1, 1, 2, 3, 5, 8, 13, 21……” 。
找規律: 這個數列從第3項開始 , 每一項都等于前兩項之和 。

推薦閱讀