前端面试宝典

闭包

闭包可以简单理解成:定义在一个函数内部的函数,且这个内部函数在包含他们的外部函数之处被调用时,就会形成闭包。

特点:

  1. 函数嵌套函数
  2. 函数内部可以引用外部的参数和变量。
  3. 参数和变量不会被垃圾回收机制回收。

使用:

  1. 读取函数内部的变量
  2. 这些变量的值始终保持在内存中,不会在外层函数调用后被自动清除。

优点:

  1. 变量长期驻扎在内存中
  2. 避免全局变量的污染
  3. 私有成员的存在

Js中常见的内存泄露

  1. 意外的全局变量
  2. 被遗忘的计时器或回调函数
  3. 脱离DOM的引用
  4. 闭包