闭包

55 阅读1分钟

闭包

闭包是一个闭合容器,可以理解为一个对象 ---> { key:value }

形成条件:

  1. 函数嵌套
  2. 内部函数引用外部函数的局部变量

闭包特点:

  1. 闭包里保存的变量一定是内部函数引用外部函数的变量,如果没有使用的外部变量在外部函数执行完就销毁释放内存。

  2. 闭包在使用时通常将内部函数return出去,定义变量接收该函数,使用完时应该销毁(变量赋值为null)

  3. 会延长外部函数局部变量的生命周期

闭包缺点:

  1. 占内存
  2. 不及时清除容易导致内存溢出

闭包使用注意:

  1. 能不使用就不用
  2. 使用完毕及时清除:让指向内部函数的变量指向null,让内部函数变成垃圾对象。

Closure