首页 > 文档
原理解析,JS 代码是如何被浏览器引擎编译、执行的?
- 2024-05-30
- 1332 ℃
本讲我先带你分析浏览器引擎对 JS 代码的编译情况,并结合你日常的 JavaScript 开发经验,一起重新理解底层的编译解析机制。对其底层原理的理解,将有助于你理解前端的跨端应用,以及一套代码生成多种小程序相关框架的底层逻辑。
那么,在课程开始前请你先思考:
JavaScript 代码被执行分为哪几个阶段?
AST 到底是做什么用的?
带着思考去学习,相信你会收获更多。现在,就让我为你介绍 V8 引擎。
V8 引擎介绍
我们先看一下当前百花齐放的编程语言,主要分为编译型语言和解释型语言。
编译型语言的特点是在代码运行前编译器直接将对应的代码转换成机器码,运行时不需要再重新翻译,直接可以使用编译后的结果。
解释型语言也是需要将代码转换成机器码,但是和编译型的区别在于运行时需要转换。比较显著的特点是,解释型语言的执行速度要慢于编译型语言,因为解释型语言每次执行都需要把源码转换一次才能执行。
我们比较清楚的,像 Java 和 C++ 都是编译型语言;而 JavaScript 和 ruby 都是解释性语言,它们整体的执行速度都会略慢于编译型的语言。
为了提高运行效率,很多浏览器厂商在也在不断努力。目前市面上有很多种 JS 引擎,例如 JavaScriptCore、chakra、V8 等。而比较现代的 JS 引擎,当数 V8,它引入了 Java 虚拟机和 C++ 编译器的众多技术,和早期的 JS 引擎工作方式已经有了很大的不同。
下一篇:认识和应用Redi内部数据结构
相关内容
释放内存,提升浏览器页...
深入理解Android自动化测试
程序员的思维修炼 开...
不一样的六级 大学英语...
TCP/IP路由技术
AI:人工智能的本质与未来
2012教育职业道德法律法...
内存检查:多种类型的内...
-
中医执业--康康笔记
2024-06-18 2978
-
深入理解Android 卷I
2024-05-28 1279
-
合肥工业大学共创考研数学资料
2024-08-19 1615
-
LWW解剖学精要图谱-- 胸部、腹部和盆部
2024-06-18 1477
-
实现符合 PromieA+ 规范的 Promie
2024-05-24 1258
-
应用程序性能测试的艺术
2024-05-24 1251
-
设计足够可靠的分布式缓存体系,以满足大中型移动互联网系统的需要
2024-05-24 1344
-
湖北农村义务教师情报站电子资料
2024-08-19 1162
-
Oracle从入门到精通
2024-05-24 1247
-
管综考研历年真题
2024-08-19 1217
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


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