首页 > 文档
原理解析,JS 代码是如何被浏览器引擎编译、执行的?
- 2024-05-30
- 1195 ℃
本讲我先带你分析浏览器引擎对 JS 代码的编译情况,并结合你日常的 JavaScript 开发经验,一起重新理解底层的编译解析机制。对其底层原理的理解,将有助于你理解前端的跨端应用,以及一套代码生成多种小程序相关框架的底层逻辑。
那么,在课程开始前请你先思考:
JavaScript 代码被执行分为哪几个阶段?
AST 到底是做什么用的?
带着思考去学习,相信你会收获更多。现在,就让我为你介绍 V8 引擎。
V8 引擎介绍
我们先看一下当前百花齐放的编程语言,主要分为编译型语言和解释型语言。
编译型语言的特点是在代码运行前编译器直接将对应的代码转换成机器码,运行时不需要再重新翻译,直接可以使用编译后的结果。
解释型语言也是需要将代码转换成机器码,但是和编译型的区别在于运行时需要转换。比较显著的特点是,解释型语言的执行速度要慢于编译型语言,因为解释型语言每次执行都需要把源码转换一次才能执行。
我们比较清楚的,像 Java 和 C++ 都是编译型语言;而 JavaScript 和 ruby 都是解释性语言,它们整体的执行速度都会略慢于编译型的语言。
为了提高运行效率,很多浏览器厂商在也在不断努力。目前市面上有很多种 JS 引擎,例如 JavaScriptCore、chakra、V8 等。而比较现代的 JS 引擎,当数 V8,它引入了 Java 虚拟机和 C++ 编译器的众多技术,和早期的 JS 引擎工作方式已经有了很大的不同。
下一篇:认识和应用Redi内部数据结构
相关内容
2025年银成西综考研全程...
数组原理,如何理解 JS...
C语言编程点滴
构建一个简单的 RESTful 服务
AI:人工智能的本质与未来
简约之美:软件设计之道
2012心理学考试资料
MySOL技术内幕 InnoDB存储引擎
-
七周七数据库
2024-05-24 1047
-
函数那些事:JS 闭包难点剖析
2024-05-24 1248
-
Effective C++:改善程序与设计的55个具体做法
2024-05-24 1495
-
奈特病理学彩色图谱
2024-06-18 1385
-
新东方在线【晨读】超能听口训练营
2024-08-20 964
-
中医执业--康康笔记
2024-06-18 2733
-
口腔执业医师(2018)-冲刺笔记
2024-08-20 1108
-
设计缓存架构时需要考量哪些因素
2024-05-24 1060
-
轻松实现一个 EventEmitter
2024-05-24 1268
-
【新文道】大学英语四级实力抢分班
2024-08-18 941
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


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