闭包

闭包让你可以在一个内层函数中访问到其外层函数的作用域。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。—— MDN-闭包

 

闭包是指有权访问另一个函数作用域中的变量的函数 ——《JavaScript高级程序设计》

 

当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行 ——《你不知道的JavaScript》

 

  • 闭包用途:
    1. 能够访问函数定义时所在的词法作用域(阻止其被回收)
    2. 私有化变量
    3. 模拟块级作用域
    4. 创建模块
  • 闭包缺点:会导致函数的变量一直保存在内存中,过多的闭包可能会导致内存泄漏

 

 

 

posted @ 2021-10-20 10:37  Dz&Ying  阅读(30)  评论(0)    收藏  举报