闭包
闭包是一个闭合容器,可以理解为一个对象 ---> { key:value }
形成条件:
- 函数嵌套
- 内部函数引用外部函数的局部变量
闭包特点:
-
闭包里保存的变量一定是内部函数引用外部函数的变量,如果没有使用的外部变量在外部函数执行完就销毁释放内存。
-
闭包在使用时通常将内部函数return出去,定义变量接收该函数,使用完时应该销毁(变量赋值为null)
-
会延长外部函数局部变量的生命周期
闭包缺点:
- 占内存
- 不及时清除容易导致内存溢出
闭包使用注意:
- 能不使用就不用
- 使用完毕及时清除:让指向内部函数的变量指向null,让内部函数变成垃圾对象。
Closure