首先使用閉包就是為了設計私有的方法或者變量,即一個函數(shù)引用了外部環(huán)境的變量。
避免了全局變量污染。
常駐內存,使用不當就會內存泄露,在js中函數(shù)即閉包(只有函數(shù)才有作用域 的概念)
內存的泄露:程序的運行需要內存,對于持續(xù)運行的進程,必須及時釋放不再用到的內存,否則可能導致系統(tǒng)崩潰,不再用到的內存沒有及時釋放掉,就叫有內存泄露。
閉包的三個特性:
- 函數(shù)嵌套函數(shù)
- 函數(shù)可以引用外部的變量和參數(shù)
- 參數(shù)和變量不會被垃圾回收