ITPub博客

首页 > 应用开发 > Javascript > JavaScript引擎工作原理

JavaScript引擎工作原理

原创 Javascript 作者:好程序员 时间:2020-07-29 15:22:47 0 删除 编辑

  好程序员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 一样的虚拟机或者字节码解释器。这么做主要是为了减少这抽象语法树到字节码的转换时间,这一切都在网页加载时候完成,虽然可以提高优化的可能,但是这些分析可能带来巨大的时间浪费。

   免责声明:本文图片及文字信息均由小编转载自网络,如有侵权请联系我们进行删除。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69913864/viewspace-2707778/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-03-20

  • 博文量
    342
  • 访问量
    154341