高级前端js【Q441】v8 是如何执行一段 JS 代码的

v8 是如何执行一段 JS 代码的

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 449

Author 回答者: shfshanyue

参考几篇文章

Author 回答者: hellolukeding

V8 引擎首先会将 JavaScript 源代码解析成抽象语法树(AST),然后 V8 会将 AST 编译成字节码,V8 会对字节码进行即时编译(Just-In-Time compilation,简称 JIT)优化,生成高效的机器码,在执行过程中,V8 会根据代码的使用情况执行进一步的优化,例如内联函数、隐藏类优化等。执行优化后的机器码来运行 JavaScript 程序

Author 回答者: Echo-MakeGreatEffort

sourcode -> Parser解析器 -> AST语法树 -> Ignition解释器 -> ByteCode字节码 -> Turbofan优化编译器 -> 机器码