前端百题斩【008】——JavaScript代码的执行过程

写该系列文章的初衷是“让每位前端工程师掌握高频知识点,为工做助力”。这是前端百题斩的第8斩,但愿朋友们关注公众号“执鸢者”,用知识武装本身的头脑。前端

下面将以V8为例,来阐述一下JavaScript代码的执行过程,其整个过程以下所示:前端工程师

image-20210515221914597.png

整个过程主要分为如下几个步骤:
  1. 词法分析,该步骤是将一行行的源码拆解成一个个token(token指的是语法上不可能再分的、最小的单个字符或字符串);
  2. 语法分析,其做用是将生成的token数据根据语法规则转换为AST;
  3. 有了AST后,V8就会生成该段代码的执行上下文;
  4. 解释器根据AST生成字节码(字节码是介于AST和机器码之间的一种代码);
  5. 生成字节码以后进行执行阶段,解释器会逐条解释执行。在执行字节码的过程当中,若是发现热点代码(例如一段代码被重复执行屡次),后台的编译器就会把这段热点的字节码编译为高效的机器码,而后再次执行这段优化的代码时,只需执行编译后的机器码便可,提高代码的执行效率。

1.若是以为这篇文章还不错,来个分享、点赞吧,让更多的人也看到优化

2.关注公众号执鸢者,与号主一块儿斩杀前端百题。spa

相关文章
相关标签/搜索