關於閉包的總結

2022-07-09 14:57:11 字數 297 閱讀 5519

使用var宣告的變數會自動被新增到最接近的環境中,如果沒有var,就會自動被新增到全域性環境中

函式引數是按值傳值的,而不是引用

函式名實際就是對佔整個函式總體的引用,函式名加個括號就表示函式執行,這個整個函式總體加個括號也表示函式執行效果一樣;

經典:實際包的作用就是為內部函式建立乙個臨時的全域性變數函式,把內部函式要一直引用的變數放在外部函式中;外部函式就是為了存放內部函式要一直引用的變數;實際操作的函式是被返回的內部函式

經典:避免了一定要把他放在全域性作於域中

經典:就像在當前環境中又定義乙個函式一樣;

閉包的總結

先介紹一下全域性變數和區域性變數的優缺點 全域性變數 可以重用 但是會造成全域性汙染而且容易被篡改 區域性變數 僅函式內使用不會造成全域性汙染也不會被篡改 不可以重用 從上面可以看出全域性變數和區域性變數的優缺點剛好是相對的。閉包的出現正好結合了全域性變數和區域性變數的優點。何時使用閉包 希望重用乙...

前端知識總結(九) 關於閉包

js的作用域分兩種,全域性和區域性,基於我們所熟悉的作用域鏈相關知識,我們知道在js作用域環境中訪問變數的權利是由內向外的,內部作用域可以獲得當前作用域下的變數並且可以獲得當前包含當前作用域的外層作用域下的變數,反之則不能,也就是說在外層作用域下無法獲取內層作用域下的變數,同樣在不同的函式作用域中也...

關於js的閉包

要理解上面的問題,首先要理解清楚幾個概念 來自 閉包裡的微觀世界 區別就是值型別變數是可以直接訪問棧 stack 中的值 接下來的內容就是關於閉包的微觀世界 function a return b var c a 函式a執行後返回函式b,並將函式b賦給c c 輸出 1 本來這個地方變數i是定義在函式...