此页内容

约 279 字小于 1 分钟

2022-04-15

提问

  1. 什么是闭包?
  2. 闭包有什么作用?

闭包

闭包是指有权访问另一个函数作用域中变量的函数。

创建闭包的最常见的方式就是在一个函数内创建另一个函数,创建的函数可以访问到当前函数的局部变量。

闭包的本质就是作用域链的一个特殊应用,只要了解作用域链的创建过程,就能够理解闭包的实现原理。

作用

  • 闭包可以使我们在函数外部能够访问到函数内部的变量。通过使用闭包,我们可以通过在外部调用闭包函数, 从而在外部访问到函数内部的变量,可以用这种方法来创建私有变量。

  • 闭包可以使已经结束运行的函数上下文中的半两对象继续留在内存中,因为闭包函数保留了这个变量对象的引用, 所以这个变量对象不会被回收。