閉包就是可以訪問(讀?。┢渌瘮祪炔孔兞康暮瘮?。
所謂閉包就是函數內部有子(內層)函數,子(內層)函數可以訪問父(外層)函數的變量,子(內層)函數常常作為父(外層)函數的返回值,這就是閉包
一、閉包作用:
1,可以訪問局部變量
2,保持變量始終在內存中
二、優點:
緩存數據
實現面型對象的對象
匿名自執行函數
實現封裝,防止變量跑到外部函數發生沖突
a.閉包就是能夠讀取其他函數內部變量的函數。
b.保持變量在內存中,不會被函數調用后清除。
三、缺點:
閉包內部優先級高于外部,查找時會慢一點消耗內存,用的時候需謹慎,內存浪費
(處理:可以設置一setTimeout釋放內存就是比如你一天用這個他就會垃圾引用回收)導致內存泄露
四、閉包語句的特點
1,函數可以作為參數傳遞。
2,函數可以賦值給變量(改變了函數的指針)
3,函數可以作為返回值
五、解決閉包的內存泄漏:
1、少用閉包;
2、手動清空(也就是說我聲明一個方法函數,讓變量等于null,最后在執行后調用那個方法)