闭包的定义
闭包就是JavaScript中,函数的一种高级应用方式
闭包必要的几个条件(缺一不可)
1.有一个函数A , 在函数A内部返回一个函数B
2. 在函数B 中访问函数A 的私有作用域变量
3. 在函数A 外部,有变量引用函数B
闭包的特点(优点和缺点并存)
- 延长了变量的生命周期
优点: 因为执行空间不销毁, 变量也没有销毁
缺点: 因为执行空间不销毁, 会一直存在在内存中 - 可以访问函数内部的私有变量
优点: 利用闭包函数可以访问函数内部的私有变量
缺点: 执行空间不会销毁, 会一直存在在内存中 - 保护私有变量(只要是函数, 就有这个特点)
优点: 保护私有变量不被外界访问
缺点: 如果向访问, 必须要利用闭包函数
闭包的函数的缺点
加粗样式因为当一段内存空间中有一个不会被销毁的东西一直存在 那么就会出现内存占用, 如果过多, 就会导致内存溢出那么结果就是 内存泄漏