当前位置: 首页 > Web前端 > HTML5

JavaScript引擎的工作原理

时间:2023-04-05 00:44:11 HTML5

好的程序员web培训分享JavaScript引擎的工作原理。JavaScript是Web前端人员必须掌握的知识点之一,也是一门高级语言。最初,JavaScript仅在Web浏览器中运行。随着Node的出现,JavaScript也可以运行在服务器端。  让我向你解释一下JavaScript引擎是如何工作的。  JavaScript引擎?  JavaScript引擎是用来将我们的代码转换成机器可读语言的引擎。如果没有JavaScript引擎,你写的代码对计算机来说就是一堆“废话”。不仅仅是JavaScript,其他所有编程语言都需要一个类似的引擎来将这种“废话”转换成对计算机有意义的语言。  JavaScript引擎的组件是什么?  1。编译器。主要工作是将源代码编译成抽象语法树,然后在某些引擎中,将抽象语法树转换成字节码。  2。口译员。在一些引擎中,解释器主要是接受字节码,解释并执行字节码,然后还依赖于恢复机制等。  3。JIT工具。一个可以JIT将字节码或抽象语法树转换为本地代码的工具。当然,还需要牢记垃圾收集器和分析工具(profiler)。它们负责引擎中的垃圾收集和收集信息,有助于提高引擎的性能和效率。  JavaScript引擎是如何工作的?  JavaScript的工作方式取决于它是什么引擎。目前常用的JavaScript引擎有两种:WebKit的JavaScriptCore和Google的V8引擎。两个引擎处理代码的方式不同。JavaScriptCore:源码=》抽象语法树=》字节码  1.词法分析,将源代码分解成一系列意义明确的符号或字符串(分词);  2。用词法分析器分析这些符号被构建成一个抽象语法树;  3、解析器生成字节码(编译器可以看懂);  4、4个JIT(Just-In-Time)进程参与,分析并执行解析器生成的字节码。谷歌的V8引擎,用C++编写,也编译和执行JavaScript源代码,处理内存分配,垃圾收集剩余物。V8引擎并没有将抽象语法树转化为字节码或者其他中间表示,也没有像Java那样的虚拟机或者字节码解释器。这样做的主要目的是减少从抽象语法树到字节码的转换时间。所有这些都是在加载网页时完成的。虽然它可以提高优化的可能性,但这些分析可能会造成巨大的时间浪费。  免责声明:本文图片及文字信息由小编转载自网络。如有侵权,请联系我们删除。