首页 > 文档
原理解析,JS 代码是如何被浏览器引擎编译、执行的?
- 2024-05-30
- 1222 ℃
本讲我先带你分析浏览器引擎对 JS 代码的编译情况,并结合你日常的 JavaScript 开发经验,一起重新理解底层的编译解析机制。对其底层原理的理解,将有助于你理解前端的跨端应用,以及一套代码生成多种小程序相关框架的底层逻辑。
那么,在课程开始前请你先思考:
JavaScript 代码被执行分为哪几个阶段?
AST 到底是做什么用的?
带着思考去学习,相信你会收获更多。现在,就让我为你介绍 V8 引擎。
V8 引擎介绍
我们先看一下当前百花齐放的编程语言,主要分为编译型语言和解释型语言。
编译型语言的特点是在代码运行前编译器直接将对应的代码转换成机器码,运行时不需要再重新翻译,直接可以使用编译后的结果。
解释型语言也是需要将代码转换成机器码,但是和编译型的区别在于运行时需要转换。比较显著的特点是,解释型语言的执行速度要慢于编译型语言,因为解释型语言每次执行都需要把源码转换一次才能执行。
我们比较清楚的,像 Java 和 C++ 都是编译型语言;而 JavaScript 和 ruby 都是解释性语言,它们整体的执行速度都会略慢于编译型的语言。
为了提高运行效率,很多浏览器厂商在也在不断努力。目前市面上有很多种 JS 引擎,例如 JavaScriptCore、chakra、V8 等。而比较现代的 JS 引擎,当数 V8,它引入了 Java 虚拟机和 C++ 编译器的众多技术,和早期的 JS 引擎工作方式已经有了很大的不同。
下一篇:认识和应用Redi内部数据结构
相关内容
简约之美:软件设计之道
photoshop滤镜详解
中学教师资格证考试各学...
2018口腔执业医师考试大...
像计算机科学家一样思考...
腹部CT的检查技术诊断(很经典)
近10年中小幼教资历年考...
MC是怎么定位key的
-
Node.js 实战
2024-05-28 1356
-
ort 排序方法的实现原理
2024-05-24 1386
-
中医综合历年真题
2024-08-20 2066
-
小学教学设计专题内部资料(含各学科)
2024-08-20 970
-
7~9年级课外文言文阅读训练
2024-07-13 1678
-
湖北农村义务教师情报站电子资料
2024-08-19 1081
-
结构化面试技巧
2024-08-19 1366
-
高并发设计必须学的知识点有哪些?
2024-05-24 1565
-
初高中教师资格考试历年真题及答案解析
2024-08-19 1209
-
Practical.API.Design.Confessions.of.a.Java.Framework.Architect
2024-05-28 1442
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


下载完整资料
点击分享文章