作用域链
VO 中包含一个额外的属性,该属性指向创建该 VO 的函数本身。
每个函数在创建时,会有一个隐藏属性
[[scope]],它执向创建该函数时的 AO。当访问一个变量时,会先查找自身 VO 中是否存在,如果不存在,则依次查找
[[scope]]属性。
js
var g = 0
function A() {
var a = 1
function B() {
var b = 2
var C = function() {
var c = 3
console.log(c, b, a, g)
}
C()
}
B()
}
A() // 依次输出 3 2 1 0图示:
