1.每个javascript函数都是一个对象,对象中有些属性我们可以访问,但有些不可以,这些属性仅供JavaScript引擎存取[[scope]]就是其中一个;[[scope]]就是我所说的作用域,其中存储了运行期上下文的集合
2.作用域链:[[scope]]中存储的执行期上下文对象的集合,这个集合呈链式连接,我们把这种链式连接叫做作用域链;
3.
eg:
function a( ){
function b( ){
function c( ){
var aa = 123
}
c( );
}
b( );
}
c( );
a --> defined --> GO
a 执行 --->生成:aAO
GO
b --> defined -->: aAO
: GO
b 执行 -----> :aAO
:bAO
: GO