JavaScript 是如何执行的

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

对于解释型语言(例如 JavaScript)来说,通过词法分析 -> 语法分析 -> 语法树,就可以开始解释执行了。

AST

词法分析

var AST= 'is Tree'; 

这样一段代码,我们要先把它分成一个个不能细分的单词(token),也就是 var, AST, =, ‘is Tree’,这个过程是词法分析,按照单词的构成规则来拆分字符串成单词。

词法分析和语法分析是什么_html

语法分析

把 token 进行递归的组装,生成 AST,这个过程是语法分析,按照不同的语法结构,来把一组单词组合成对象。

附录:

  • https://cheogo.github.io/learn-javascript/201709/runtime.html
  • https://juejin.cn/book/6946117847848321055/section/6946578914382708770