作用域和作用域链、闭包面试题

ECStack:全局上下文环境栈

EC(G):全局执行上下文

VO(G):全局对象

创建函数的时候:

创建一个堆(存储代码字符串)

初始化当前函数的作用域

[[scope]] = 所在上下文中的变量对象 VO/AO

函数执行的时候:

创建一个新的执行上下文EC(压缩到ECStack里执行)

初始化this指向

初始化作用域链[[scopeChain]]:xxx

创建AO变量对象用来存储变量

=》arguments =>形参 =》代码执行

作用域和作用域链、闭包面试题

答案:

作用域和作用域链、闭包面试题

 

 

作用域和作用域链、闭包面试题

 

2、作用域和作用域链、闭包面试题

作用域和作用域链、闭包面试题