Day2
关于V8引擎:
JavaScript代码被交由V8引擎处理后,先后会经过词法分析、预解析、语法分析(生成AST树)、解析执行(解析AST生成字节码并解释执行字节码)、代码优化几大部分。
其中预解析仅针对非必要执行(即当前未被调用)代码,主要解析任务是验证函数语法有效性,解析函数声明,确定函数作用域。
关于V8 中的解析器、解释器、编译器:
V8中语法分析由Parser(解析器)进行。
解析执行的工作主要由Ignition(解释器)完成。
多次被调用的代码会被标记被热代码交由TurboFun(优化编译器)进行代码性能优化生成对应的解释机器码,在下次代码执行时不用再次对字节码进行解析,从而提升了执行效率。


参考链接:
1. juejin.cn
2. juejin.cn
展开
评论