运行期上下文:当函数执行时,会创建一个称为执行期上下文的内部对象。一个执行期上下文定义了一个函数执行时的环境,函数每次执行时对应的执行期上下文都是独一无二的,所以多次调用一个函数会导致创建多个执行期上下文,当函数执行完毕,它所产生的执行上下文被销毁。
查找变量:从作用域链的顶端依次向下查找
function a(){
function b(){
var b = 234;
}
var a = 123;
b();
console.log(b);
}
var glob = 100;
a();
图片.png
图片.png
图片.png
图片.png
function a(){
function b(){
function c(){
}
c();
}
b();
}
a();
a defined a.[[scope]] -->
0:GO
a doing a.[[scope]] --> 0:aAO
1:GO
b defined b.[[scope]] -->
0:aAO
1:GO
b doing b.[[scope]] -->
0:bAO
1:aAO
2:GO
c defined c.[[scope]] --> 0:bAO
1:aAO
2:GO
c doing c.[[scope]] -->
0:cAO
1:bAO
2:aAO
3:GO
网友评论