Skip to main content

闭包

作用域

用于确定在何处以及如何查找变量(标识符)的一套规则

  • 词法作用域:定义在词法阶段的作用域。由写代码时代码和块作用域写在哪里来决定
  • 块作用域:变量和函数不仅可以属于所处的作用域,也可以属于某个代码块(通常用包裹)。常见的块级作用域有 with,try/catch,let,const 等
  • 函数作用域:属于这个函数的全部变量都可以在整个函数范围内使用及复用(包括嵌套作用域)
  • 作用域链:查找变量时,先从当前作用域查找,如果没找到,就会去父级(词法层面的父级)作用域中查找,一直到全局作用域。作用域链即包含这些作用域的列表