闭包
闭包的概念其实很简单,就是函数A内部有一个函数B,函数B可以访问函数A的变量。也就是说闭包是指有权访问另一个函数作用域中变量的函数,利用闭包可以突破作用域链。
闭包的特性:
1、函数内再嵌套函数
2、内部函数可以引用外层的参数和变量
3、参数和变量不会被垃圾回收机制回收
使用闭包主要是为了设计私有的方法和变量闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,增大内存使用量,使用不当容易造成内存泄露,再JS中,函数即闭包,只有函数才会产生作用域的概念
使用闭包的好处就是可以读取函数内部的变量,还有就是让变量始终保持在内存中,能够实现封装和缓存。