JavaScript作用域[[scope]]

[[scope]] : 隐式的属性
每个JavaScript函数都是一个对象,对象中有些属性可以访问,而有些属性是不可以访问的,这些属性仅供JavaScript引擎存取, [[scope]]就是其中一个。
[[scope]]值得就是所谓的作用域,其中存储了运行期上下文的集合。

作用域链:[[scope]]中存储的执行期上下文对象的集合,这个集合呈链式连接,我们把这种链式连接叫做作用域链。

  • 执行期上下文,英文名Activation Object,简称AO
  • 全局对象,英文名Global Object,简称GO
  • AO和GO都是一种对象
  • 函数执行前会进行预编译,产生AO
  • 全局变量在执行前也会有预编译,产生GO
原文地址:https://www.cnblogs.com/itstone/p/10477058.html