前言
这篇文章用于记录自己复习面试题的过程
什么是闭包?
当一个函数可以记住并访问到外部作用域的变量,导致外部作用域的某个变量无法被垃圾回收及时销毁时,就形成了闭包;
为什么要有闭包?
- 将上层作用域的引用保存下来,形成方法或者属性的私有化
- 保护函数的私有变量不受外部干扰
- 形成不被销毁的栈内存
使用场景
- 返回或者接受一个函数的时候
- 自执行函数
- 使用外部变量 or 全局变量的时候
这篇文章用于记录自己复习面试题的过程
当一个函数可以记住并访问到外部作用域的变量,导致外部作用域的某个变量无法被垃圾回收及时销毁时,就形成了闭包;