作用域、作用域链、执行上下文

42 阅读1分钟

作用域

每个变量都一定属于某个区域,一定有一个可以被访问的范围。

  • 全局作用域
  • 函数作用域
  • 块级作用域 作用域在初始定义时就确定了,不是在执行时确定的。作用域是静态的。

作用域链

查找变量的规则,从当前作用域向全局作用域查找,沿着作用域链表,由内向外查找

执行上下文

执行上下文是代码执行时的环境,是动态的。包括:

  1. 作用域链,关联父级作用域
  2. 变量环境(var,function)
  3. 词法环境(const let)
  4. this绑定