前端必知词汇:JavaScript(JS)引擎

简介: JavaScript引擎是一个解析JavaScript脚本的虚拟机,实现网页的动态效果,一般会附带在网页浏览器之中。JavaScript引擎的核心特征它是一种程序虚拟机。其主要用途是与用户互动,以及操作DOM,由于目前JS引擎没有引入锁机制,为了避免由于同步问题带来的冲突,JS引擎目前只支持单线程。

JavaScript(JS)引擎是一个解析JavaScript脚本的虚拟机,实现网页的动态效果,一般会附带在网页浏览器之中。JavaScript引擎的核心特征它是一种程序虚拟机。其主要用途是与用户互动,以及操作DOM,由于目前JS引擎没有引入锁机制,为了避免由于同步问题带来的冲突,JS引擎目前只支持单线程。

JS引擎是浏览器的组成部分之一,浏览器内核由一个渲染引擎和一个独立的JS引擎组成。其中渲染引擎包括HTML 解释器、CSS 解释器、图层布局计算模块、视图绘制模块。JS引擎能够被更方便的测试、重新生成或者在另一些项目中使用。JavaScript引擎能为程序员提供部分操作浏览器的功能(网络、DOM、外部事件、HTML5视频、canvas和存储)。

HTML 解释器:将 HTML 文档经过词法分析输出 DOM 树;
CSS 解释器:解析 CSS 文档,生成样式规则;
图层布局计算模块:布局计算每个对象的精确位置和大小;
视图绘制模块:进行具体节点的图像绘制,将像素渲染到屏幕上。

每个JavaScript引擎都实现了ECMAScript的一个版本,其中JavaScript是一种解释性动态脚本语言。随着ECMAScript的发展,JavaScript引擎也在不断发展。目前主流的JS引擎有SpiderMonkey 、Rhino、V8、JavaScriptCore、Chakra (JScript引擎,一个由微软为其Internet Explorer 9、Internet Explorer 10、Internet Explorer 11和Microsoft Edge等网页浏览器开发的JavaScript引擎)、KJS等等。不同的浏览器采用了不同的JavaScript引擎。

SpiderMonkey 是Mozilla使用C/C++编写的JavaScript 引擎。它被用于包括Firefox在内的多个Mozilla产品中。V8由Google在2008年开发,用C++编写,是Google Chrome的一部分,它的性能相较于之前的JS引擎有很大的提升。Rhino引擎由网景公司的诺里斯·博伊德(Norris Boyd) 开发,由Java实现。和SpiderMonkey一样,Rhino符合ECMA-262版本3。KJS被用在KHTML中,是KDE的ECMAScript/JavaScript引擎,最初由哈里·波顿开发,用于KDE项目的Konqueror网页浏览器中。

资料来源:
维基百科词条: JavaScript引擎
[1] Looper,Jen (2015-09-21). "A Guide to JavaScript Engines for Idiots". Telerik Developer Network.
[2] Shankland,Stephen (2008-09-02). "Speed test: Google Chrome beats Firefox,IE,Safari". CNET Business Tech. CBS Interactive.
[3] "Big browser comparison test: Internet Explorer vs. Firefox,Opera,Safari and Chrome". PC Games Hardware. Computec Media AG.
[4] "Lifehacker Speed Tests: Safari 4,Chrome 2". Lifehacker.

目录
相关文章
|
11天前
|
JavaScript 前端开发 物联网
JavaScript:构建动态世界的引擎
JavaScript:构建动态世界的引擎
|
11天前
|
前端开发 JavaScript 开发者
JavaScript:构建动态网络的引擎
JavaScript:构建动态网络的引擎
|
2月前
|
JSON 前端开发 JavaScript
惊艳!阿里开源 15.2k Star 企业级低代码引擎揭秘,如何变革前端开发方式?
阿里巴巴开源的 LowCodeEngine 是一款企业级低代码引擎,具备可视化编排、UI 渲染、代码生成等全链路能力。支持 React、Vue、Rax 等框架,提供高扩展性与类型安全,助力高效开发,降低维护成本,适用于后台系统、多端同步等场景。
590 1
|
11天前
|
JavaScript 前端开发 开发者
JavaScript:驱动现代Web的核心引擎
JavaScript:驱动现代Web的核心引擎
|
11天前
|
JavaScript 前端开发 物联网
JavaScript:驱动现代Web的核心引擎
JavaScript:驱动现代Web的核心引擎
|
5月前
|
JavaScript 前端开发 API
|
4月前
|
资源调度 JavaScript 前端开发
Day.js极简轻易快速2kB的JavaScript库-替代Moment.js
dayjs是一个极简快速2kB的JavaScript库,可以为浏览器处理解析、验证、操作和显示日期和时间,它的设计目标是提供一个简单、快速且功能强大的日期处理工具,同时保持极小的体积(仅 2KB 左右)。
254 24
|
5月前
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
213 8
|
5月前
|
JavaScript 前端开发