DeanTG / interview

0 stars 0 forks source link

js引擎执行过程 #8

Open DeanTG opened 1 year ago

DeanTG commented 1 year ago

link

DeanTG commented 1 year ago

js引擎执行过程分为两个阶段:

  1. 编译阶段
  2. 执行阶段
DeanTG commented 1 year ago

编译阶段

对于常见编译型语言(例如:Java )来说,编译步骤分为:词法分析 -> 语法分析 -> 语义检查 -> 代码优化和字节码生成

对于解释型语言(例如:JavaScript )来说,编译阶通过词法分析 -> 语法分析 -> 代码生成,就可以解释并执行代码了。

DeanTG commented 1 year ago

执行阶段

执行程序需要有执行环境, Java 需要 Java 虚拟机,同样解析 JavaScript #也需要执行环境,我们称它为“执行上下文”。

js进入执行阶段后,代码执行顺序如下:

宏任务(同步任务) --> 微任务 --> 宏任务(异步任务)