原理解析,JS 代码是如何被浏览器引擎编译、执行的?
24-05-24 11:41
935
0
本讲我先带你分析浏览器引擎对 JS 代码的编译情况,并结合你日常的 JavaScript 开发经验,一起重新理解底层的编译解析机制。对其底层原理的理解,将有助于你理解前端的跨端应用,以及一套代码生成多种小程序相关框架的底层逻辑。
那么,在课程开始前请你先思考:
JavaScript 代码被执行分为哪几个阶段?
AST 到底是做什么用的?
带着思考去学习,相信你会收获更多。现在,就让我为你介绍 V8 引擎。
V8 引擎介绍
我们先看一下当前百花齐放的编程语言,主要分为编译型语言和解释型语言。
编译型语言的特点是在代码运行前编译器直接将对应的代码转换成机器码,运行时不需要再重新翻译,直接可以使用编译后的结果。
解释型语言也是需要将代码转换成机器码,但是和编译型的区别在于运行时需要转换。比较显著的特点是,解释型语言的执行速度要慢于编译型语言,因为解释型语言每次执行都需要把源码转换一次才能执行。
我们比较清楚的,像 Java 和 C++ 都是编译型语言;而 JavaScript 和 ruby 都是解释性语言,它们整体的执行速度都会略慢于编译型的语言。
为了提高运行效率,很多浏览器厂商在也在不断努力。目前市面上有很多种 JS 引擎,例如 JavaScriptCore、chakra、V8 等。而比较现代的 JS 引擎,当数 V8,它引入了 Java 虚拟机和 C++ 编译器的众多技术,和早期的 JS 引擎工作方式已经有了很大的不同。
-
深入理解Android自动化测试
2011年,被第一代联想乐Phone智能手机深深震撼后,我投身到联想智能事业部,开始从Windows平台转战到Android平台,继续研究自动化测试和单... 926 0 24-05-28 -
在线小说小程序
1. 主要特性:支持 wxml, wxss, javascript 和 json 保存后热更新支持系统 notification 更早提示构建和请求错误使用后台转发 XML... 859 0 24-10-31 -
仿映客,花椒直播的梦蝶直播系统源码
2018 仿映客,花椒直播的梦蝶直播系统源码 边看边买+私密+付费直播+互动+游戏+购物直播,系统独立的手机互动直播 app,也能在您原有平台基... 475 0 21-07-03 -
PS素材雪花
994 0 25-04-14 -
历年考研数学三真题
17-20数三真题本.pdf17-20数三答案本.pdf1987-1996年考研数学三真题.pdf1987~2009数三真题.pdf1987~2009数三答案.pdf1987年数学三真题答案... 1043 0 24-08-20 -
SkinFiner_2.0_64bit 超快速人像磨皮软件插件
SkinFiner 是一款超快速人像一键AI全自动磨皮插件,SkinFiner 号称是最快的人像皮肤修饰软件/插件,可以自动皮肤平滑,快速肤色,天然肤... 762 0 25-04-11 -
JustFont粉圆字体
1623 0 24-07-23 -
jquery响应式弹出菜单
394 0 21-06-02
发表我的评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~