闭包 Closure
2023-03-06 10:36:36
- 闭包 Closure 是 1964 年提出的一个计算机编程的概念
- 按照当时论文《表达式的机器执行》的定义它包含控制和环境两个部分
- 《the mechanical evaluation of expressions》
- 在 JavaScript 中,以函数能够访问其定义时的环境中变量的方式得以实现。
- 利用了作用域链的特性,我们都知道作用域链就是在当前执行环境下访问某个变量时,如果不存在就一直向外层寻找,最终寻找到最外层也就是全局作用域,这样就形成了一个链。
- 闭包会引起垃圾回收问题,因为会一直存在一个引用,导致内存泄漏。