执行上下文作用
给全局代码或局部代码提供数据,包含变量和函数。
执行上下文的分类
- 程序运行,产生一个全局执行上下文。(仅一个)
- 每调用一次函数,就会产生一个函数执行上下文。(可以有多个)
执行上下文栈
函数嵌套调用形成执行上下文栈

- 全局代码一执行,产生一个全局执行上下文。Anonymous function(匿名函数)位置在最下面。
- 调用函数compute() 产生一个compute函数执行上下文。这个执行上下文会放在 全局执行上下文上面。
- 调用函数 add() 产生一个add函数执行上下文。这个执行上下文会放在 compute函数执行上下文上面。
- 先入后出
函数执行上下文
每一个函数执行上下文由两部分组成:
- 函数内部定义的变量,arguments,内部定义的函数
- 函数的父级函数的执行上下文
全局执行上下文
组成:全局代码定义的变量,函数
用执行上下文分析问题
为什么函数内部的变量,在函数的外部无法访问?
