引言:众所周知,机器只能识别机器码,那么JS又是经过什么过程才能被识别的呢,也就是JS代码在呈现到浏览器之前到底做了什么?
经历了以下几步:
- 1、
js代码经历词法分析,成为token - 2、然后经过语法分析,将
token转换成AST(抽象语法树) - 3、用解释器根据AST,生成字节码
- 4、使用JIT即时编译技术,将字节码转成机器码,然后计算机就可以识别执行了。
V8引擎优化过程:
- 1、边下载边解析
- 2、监视器监视是否为初次执行,如果不是则会使用缓存,而无需编译;
babel编译es6代码
babel要将ess6转成es5,其也是根据AST来进行转换的
- 1、先将ES6代码编译为AST
- 2、然后将该AST转换为ES5的AST
- 3、由ES5的AST还原出ES5代码