¶编译型语言的特点
c , c++ , 打包成操作系统机器码,然后再执行
¶解释型语言的特点
Javascript,一边编译成机器码一边执行
¶V8引擎
V8引擎是谷歌浏览器和NodeJS内置的 Javascript引擎
比如你在一个网页中加载一个calc.js文件,如图:
这个文件里的每个字节都会被转化成符号,比如ASCII或者UTF-8字节谷歌浏览器会识别这些关键词符号,直至将文件读取完毕
然后检查语法并生成抽象树
之后交给V8引擎的ignition解释器,生成字节码
ignition解释器然后会运行这些字节码,转化成cpu运行的机器码
对于一些被调用多次的函数,turbofan优化器会存留之前生成的机器码,跳过解释直接运行机器码,啊v要注意函数的参数个数,类型一定要是一样的
¶致谢
https://www.youtube.com/watch?v=p-iiEDtpy6I&t=634s
https://dev.to/lydiahallie/javascript-visualized-the-javascript-engine-4cdf