閉包的理解

2021-10-09 03:18:12 字數 494 閱讀 5132

閉包的定義:閉包就是定義乙個函式內部的函式,能夠讀取其他函式內部變數的函式

閉包的特點: 能夠記住閉包誕生的環境,子函式記住了他誕生的環境是母函式,所以能在子函式中得到母函式中的內部變數

閉包的本質: 閉包就是函式內部和函式外部連線的橋梁

閉包特性例子:

const arr =[1

,2,3

,4,5

,6,7

,8,9

];function

between

(a, b)

}const a1 = arr.

filter

(between(1

,5))

console.

log(a1)

;const a2 = arr.

filter

(between(5

,10))

console.

log(a2)

閉包的理解

閉包 是指有權訪問另乙個函式作用域中的變數的函式。建立閉包的常見方式就是在乙個函式內部建立另乙個函式 在函式createcomparisonfunction 中返回了乙個匿名函式,建立了乙個閉包。當匿名函式被返回時,其作用域鏈包含外部函式createcomparisonfunction的作用域鏈,這...

閉包的理解

function a return b b不能直接越過a在全域性作用 var c a c i 1var inner 定義 function outer outer 呼叫 inner 呼叫function outer x return inner var i outer 3 i 3 輸出6特點 1 函...

閉包的理解

function f1 alert a 報錯 a is not defined這裡的a是區域性變數,函式內部可以訪問外部變數,但是外部不可以訪問內部變數。因此會報錯 值得注意的是 函式內部宣告變數的時候,一定要使用var命令。如果不用的話,實際上是宣告了乙個全域性變數。function f1 ret...