概念:闭包是有权访问另外一个函数作用域中的变量的函数
1)闭包的特点
- 函数嵌套函数
- 函数内部可以引用外部的参数和变量
- 外部函数访问内部函数
- 参数和变量不会被垃圾回收机制回收
2)闭包的优点
- 变量长期驻扎在内存中
- 避免全局变量的污染
3)闭包的缺点
变量一直保存在内存中,过多的闭包可能会导致内存泄漏
4)闭包的场景
- 回调
在定时器、事件监听、Ajax请求、跨窗口通信、Web Workers或者任何异步中,只要使用了回调函
数,实际上就是在使用闭包。 - 立即执行函数
- 防抖
在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。