閉包的小理解

2021-09-13 09:51:49 字數 500 閱讀 6861

閉包不是一種現象,是乙個方法。這個方法作用是讓全域性作用域能夠訪問區域性作用域,如果沒有這個閉包的方法,一般來說只能區域性的訪問全域性的作用域,反之不行。

閉包的作用就是用於父級作用域能夠訪問到子級的變數。

function

outer()

outer()

;// 我是區域性變數

這個例子當中,只要當outer執行的時候,才有裡面的變數一說,但是outer()之後,變數就被在記憶體中銷毀了。

如果想讓全域性變數能夠訪問到區域性變數。

function

outer()

}var func =

outer()

func()

;// 我是區域性變數

截圖說的有點小意思

閉包的理解

閉包 是指有權訪問另乙個函式作用域中的變數的函式。建立閉包的常見方式就是在乙個函式內部建立另乙個函式 在函式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...