What happens to our code? JavaScript 代码是怎样执行的

1. 我们的代码第一步会被parser 语法分析程序分析. 如果没有报错之后

2. 生产SyntaxTree, 我们的代码会转换成machine code

3. 最终 我们的代码会被运行出来.

下面的图解释了JavaScript 代码背后执行的步骤

Global Execution Contents

1. 代码不在任何function中

2. 与global object有关联

3. 在浏览器中, 是Windows object

e.g. 

lastName === window.lastName // true

代码执行过程

1. Global Execution Content

2. 执行过程:

  1. first()
  2. var a
  3. second()
  4. var b
  5. third()
  6. var c
  7. var z
  8. var z // in second()
  9. var x

Scope Chain

Execution stack VS Scope chain

 错误: third() 不能获取 var b 和 var c  因为third()不在相应作用域中

原文地址:https://www.cnblogs.com/TheMiao/p/9735167.html