JS閉包
- 2021 年 10 月 8 日
- 筆記
- javascript
1.什麼是閉包:閉包是一種保護私有變數的機制,在函數執行時形成私有的作用域,保護裡面的私有變數不受外界干擾,使得私有變數不被JavaScript垃圾回收機制強制回收,直觀的講是函數裡面套函數!
2.閉包的優點:一個函數可以訪問另外一個函數的變數,可以保護私有變數不被全局變數污染,在一個不熟悉的網頁中嵌入功能使用閉包是很好的選擇。
3.閉包的缺點:過多使用閉包會造成記憶體佔用過多的問題,濫用閉包會造成記憶體泄漏即記憶體不被釋放,我們知道函數一執行完裡面的變數就會立即銷毀。
4.程式碼:
function add(){ var num = 0; return function(){
num++; console.log(num); } } var addFun = add(); addFun();//1 addFun();//2 addFun();//3