前端必知词汇:JavaScript(JS)引擎-阿里云开发者社区

开发者社区> AlibabaF2E> 正文
登录阅读全文

前端必知词汇: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.

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
AlibabaF2E
使用钉钉扫一扫加入圈子
+ 订阅

阿里经济体前端技术最新内容汇聚在此,由阿里经济体前端委员会官方运营。我们的愿景是建立全球一流的前端团队,链接商业,让数字世界触手可及是我们的使命。阿里经济体前端委员会致力于加强技术前瞻性、推进集体成长、提升国际影响力。同时我们运营着阿里经济体前端的官方公众号:Alibaba F2E,欢迎关注。

官方博客