文章目录
  1. 1. 作用域
  2. 2. 执行期上下文

作用域

作用域供javascript引擎存取,[[scope]]指作用域,其中存储运行了执行期上下文的集合,称为作用域链

执行期上下文

当函数执行时,会创建一个执行期上下文的内部对象(AO),函数每次执行对应的执行期上下文都是独一无二的,所以多次调用会导致一个函数创建多个执行期上下文,当函数执行完毕,执行期上下文被销毁

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function a()
{
function b()
{
function c()
{

}
c();
}
b();
}
a();
//a defined a.[[scope]] --> 0:GO
//a doning a.[[scope]] --> 0:aAO
// 1:GO

//b defined b.[[scope]] --> 0:aAO
// 1:GO
//b doning 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
文章目录
  1. 1. 作用域
  2. 2. 执行期上下文