JS闭包理解

一 闭包:https://blog.csdn.net/qq_39903567/article/details/115010640

是指有权访问另外一个函数作用域中的变量的函数。创建闭包的常见方式就是在一个函数内部创建另外一个函数。

1 使用闭包主要为了设计私有的方法和变量,闭包优缺点:

  • 优点是可以避免变量的污染
  • 缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。

2 闭包用途:

  • 读取函数内部的变量
  • 让这些变量的值始终保持在内存中。
  • 方便调用上下文的局部变量。利于代码封装。

3 闭包产生的背景:

变量作用域:变量作用域两种:全局变量、局部变量。js中函数内部可以读取全局变量,函数外部不能读取函数内部的局部变量。通过闭包可以从外部读取函数内部的变量。

JS垃圾回收:闭包会产生内存泄漏的原因,是因为变量无法得到释放,

 

 

posted @ 2021-04-07 07:45  TerryMin  阅读(47)  评论(0编辑  收藏  举报