当前位置: 首页 > 后端技术 > Node.js

JavaScript语法分析、AST、V8、JIT

时间:2023-04-03 17:33:42 Node.js

JavaScript语法分析、AST、V8、JITJavaScript是如何执行的原文地址,对于常见的编译型语言(如:Java),其编译步骤分为:词法分析->语法分析->语义检查->代码优化和字节码生成。对于解释型语言(比如JavaScript),通过词法分析->语法分析->语法树,就可以开始解释执行了。具体过程如下:1.词法分析是将字符流(charstream)转化为记号流(tokenstream)NAME"AST"EQUALSNAME"isTree"SEMICOLON2.语法分析转化为AST(AbstractSyntaxTree),你可以在这里试试http://esprima.org/3.预编译,JavaScript引擎解析脚本时,会在预编译期间处理所有声明的变量和函数!并且先预声明变量,再预定义函数!4.解释和执行。在执行过程中,JavaScript引擎严格按照作用域机制(scope)执行,JavaScript变量和函数的作用域是在定义时确定的,而不是在执行时确定的。JavaScript中的变量作用域在函数体内有效,没有块作用域;functionfunc(){for(vari=0;i变量a=10,b=20;这些代码改动有什么好处,如何从原理上解释?2.JavaScript函数和变量什么时候声明?函数声明和函数表达式有什么区别?3、如何通过编译器的优化原理来提高JavaScript的执行效率?阅读原作者:小木辰,github。