前端孵化日记(十三)执行上下文

202 阅读1分钟

执行上下文作用

给全局代码或局部代码提供数据,包含变量和函数。

执行上下文的分类

  • 程序运行,产生一个全局执行上下文。(仅一个)
  • 每调用一次函数,就会产生一个函数执行上下文。(可以有多个)

执行上下文栈

函数嵌套调用形成执行上下文栈

  • 全局代码一执行,产生一个全局执行上下文。Anonymous function(匿名函数)位置在最下面。
  • 调用函数compute() 产生一个compute函数执行上下文。这个执行上下文会放在 全局执行上下文上面。
  • 调用函数 add() 产生一个add函数执行上下文。这个执行上下文会放在 compute函数执行上下文上面。
  • 先入后出

函数执行上下文

每一个函数执行上下文由两部分组成:

  • 函数内部定义的变量,arguments,内部定义的函数
  • 函数的父级函数的执行上下文

全局执行上下文

组成:全局代码定义的变量,函数


用执行上下文分析问题

为什么函数内部的变量,在函数的外部无法访问?