• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

JS闭包理解

开发技术 开发技术 2周前 (04-06) 9次浏览

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

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

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

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

2 闭包用途:

 

  • 读取函数内部的变量
  • 让这些变量的值始终保持在内存中。

 

  • 方便调用上下文的局部变量。利于代码封装。

3 闭包产生的背景:

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

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

 

 


程序员灯塔
转载请注明原文链接:JS闭包理解
喜欢 (0)