共计 462 个字符,预计需要花费 2 分钟才能阅读完成。
写该系列文章的初衷是“让每位前端工程师把握高频知识点,为工作助力”。这是前端百题斩的第 8 斩,心愿敌人们关注公众号“执鸢者”,用常识武装本人的头脑。
上面将以 V8 为例,来论述一下 JavaScript 代码的执行过程,其整个过程如下所示:
整个过程次要分为以下几个步骤:
- 词法剖析,该步骤是将一行行的源码拆解成一个个 token(token 指的是语法上不可能再分的、最小的单个字符或字符串);
- 语法分析,其作用是将生成的 token 数据依据语法规定转换为 AST;
- 有了 AST 后,V8 就会生成该段代码的执行上下文;
- 解释器依据 AST 生成字节码(字节码是介于 AST 和机器码之间的一种代码);
- 生成字节码之后进行执行阶段,解释器会逐条解释执行。在执行字节码的过程中,如果发现热点代码(例如一段代码被反复执行屡次),后盾的编译器就会把这段热点的字节码编译为高效的机器码,而后再次执行这段优化的代码时,只需执行编译后的机器码即可,晋升代码的执行效率。
1. 如果感觉这篇文章还不错,来个分享、点赞吧,让更多的人也看到
2. 关注公众号执鸢者,与号主一起斩杀前端百题。
正文完