【JavaScript】闭包笔记-闭包的特点

时间:2025-03-28 10:02:03
  • 访问外部作用域变量:闭包总是能够访问其外部作用域中的变量,即使外部函数已经执行完毕,内部的函数依然可以访问到这些变量。
  • 记住外部状态:即使外部函数已经返回,闭包中的函数依然可以"记住"它创建时的环境状态。
  • 多次调用时的实例化:闭包通常用于多次调用时保持不同的实例。每次创建函数时,它都会保留不同的外部环境。
  • 闭包的外部不一定要是函数,但它必须是能形成作用域的结构(函数作用域或块级作用域)。
  • 最常见的闭包 发生在函数内部访问外部函数的变量,但 let/const 形成的块级作用域也可以产生闭包。
  • for 循环、事件监听、定时器、处理异步回调函数等 都经常用到闭包。

???? 核心记住:闭包 = 内部函数访问外部作用域的变量(作用域链)!