闭包
Javascript中闭包是实现许多高级应用的基础,因此理解闭包很重要。
什么是闭包?
闭包是指能够获取其他函数内部变量的函数,闭包最大的缺点是可能会导致内存泄漏。 闭包的应用场景是为了设计私有的方法和变量。 注意:函数中放置匿名函数,则产生了闭包。
闭包的特性
- 函数中嵌套函数
- 参数和变量不会被Javascript垃圾回收机制回收
使用闭包的好处
- 可以让变量长期待在内存中
- 私有成员的存在
- 避免全局变量的污染:模块化代码
问题
由于部分IE浏览器对js对象采用了引用计数的垃圾回收机制,因为使用闭包不当有可能会导致内存泄漏的问题,也是就是无法销毁驻留在内存中的元素。