族谱网 头条 人物百科

JavaScript引擎

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:638
转发:0
评论:0
历史在2008年到2009年的第二次浏览器大战之前,JavaScript引擎仅简单地被当作能阅读执行JavaScript源代码的解释器。第一个JavaScript引擎由布兰登·艾克在网景公司开发,用于NetscapeNavigator网页浏览器中。引擎的名字叫做SpiderMonkey,由C++实现。它自JavaScript1.5升级以匹配ECMA-262版本3。Rhino引擎,由网景公司的诺里斯·博伊德(NorrisBoyd)开发,由Java实现。像SpiderMonkey一样,Rhino匹配ECMA-262版本3。目前为止,最通用的JavaScript宿主环境是网页浏览器。网页浏览器一般使用公共的API创建“宿主对象”以便于在JavaScript中支持DOM。性能演进一个典型的浏览器有一个图形引擎和一个独立的JavaScript引擎。这样JavaScript引擎能够被更方便的测试、重新...

历史

在2008年到2009年的第二次浏览器大战之前,JavaScript引擎仅简单地被当作能阅读执行JavaScript源代码的解释器。

第一个JavaScript引擎由布兰登·艾克在网景公司开发,用于Netscape Navigator网页浏览器中。引擎的名字叫做SpiderMonkey,由C++实现。它自JavaScript 1.5升级以匹配ECMA-262版本3。Rhino引擎,由网景公司的诺里斯·博伊德(Norris Boyd)开发,由Java实现。像SpiderMonkey一样,Rhino匹配ECMA-262版本3。

目前为止,最通用的JavaScript宿主环境是网页浏览器。网页浏览器一般使用公共的API创建“宿主对象”以便于在JavaScript中支持DOM。

性能演进

一个典型的浏览器有一个图形引擎和一个独立的JavaScript引擎。这样JavaScript引擎能够被更方便的测试、重新生成或者在另一些项目中使用。例如:Carakan被用在Presto中,Nitro被用在WebKit中,SpiderMonkey被用在Gecko中,KJS被用在KHTML中,Rhino默认不包含任何布局引擎。JavaScript引擎能为程序员提供部分操作浏览器的功能(网络、DOM、外部事件、HTML5视频、canvas和存储)。

Sunspider是一个 JavaScript实用基准测试 ( 英语 : Browser speed test ) 通过一系列关于JavaScript语言的脚本测试JavaScript引擎的速度。Sunspider不测试无关于JavaScript的特性(不使用HTML、CSS和无网络情况下)。

近几年来,在浏览器开发者之间展开了一场开发更快的JavaScript引擎的竞赛。

2008年6月2日,WebKit开发团队发布了SquirrelFish ——一个能极大地提升Safari解释脚本速度的新的JavaScript引擎 。该引擎是Safari 4其中一个新特性,在2008年6月11日发布给程序员使用;最终此JavaScript引擎被称为Nitro。2009年6月30日,在Firefox 3.5发布的最新技术能“使某些情况下的速度提升20到40倍” 。

JavaScript引擎

开发中

Rhino,由Mozilla基金会管理,开放源代码,完全以Java编写。

SpiderMonkey,第一款JavaScript引擎,早期用于Netscape Navigator,现时用于Mozilla Firefox。

Chakra (JScript引擎),用于Internet Explorer 。

Chakra (JavaScript引擎) ( 英语 : Chakra (JavaScript engine) ) ,用于Microsoft Edge。

KJS,KDE的ECMAScript/JavaScript引擎,最初由 哈里·波顿 ( 英语 : Harri Porten ) 开发,用于KDE项目的Konqueror网页浏览器中。

停止开发

Linear A,用于Opera 4.0至6.1版本。

Linear B,用于Opera 7.0至9.2版本。

Futhark,用于Opera 9.5至10.2版本。

Carakan,用于Opera 10.5至12.1版本。

Narcissus (JavaScript引擎) ( 英语 : Narcissus (JavaScript engine) ) ,开放源代码,由布兰登·艾克编写(他也编写了SpiderMonkey)。

Tamarin,由Adobe Labs编写。

实现

JavaScript是一种ECMAScript方言,在许多程序中得以实现,特别是在网页浏览器。这些方言通常扩展了语言,或者标准库和相关API,例如W3C定义的DOM。这意味着以一种方言实现的程序不兼容于另一种方言的实现,除非程序使用了方言中的公共子集所具有的特性和API。

在实现和方言中存在着一些差别。一种语言的方言有一些与语言不同的地方。实现能够执行该语言或方言编写的程序。


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· Source引擎
引擎技术核子黎明ZenoClashSource引擎针对半条命系列第一个版本的修改所产生的飞跃是显而易见的,物理系统真实性和渲染效果均有大幅度提高。现在的引擎渲染是基于阴影的,且允许通过控制图像来产生大量悦目的效果。Source引擎在Windows系统系下使用DirectX驱动、在Linux和MacOSX系统下使用OpenGL驱动。物理系统方面,Source引擎是基于Havok引擎的,但是进行大量的几乎重写性质的改写,可以让玩家在单人抑或是联网游戏中体验到额外的交互感觉。人物的死亡可以用称为布娃娃物理系统的部分控制,引擎可以模拟物体在真实世界中的交互作用而不会占用大量资源空间。Source引擎中还加入了车辆元素,多人游戏中也有出现。Source引擎的另外一个特性就是三维的“地图盒子”,可以让地图外的空间展示为类似于3D效果的画面,而不是以前呆板的平面贴图。这样一来,地图的纵深感觉就更好,可以...
· 物理引擎
说明物理引擎有两种类型常见的型类:实时物理引擎和高精度物理引擎。高精度的物理引擎需要更多的处理能力来计算非常精确的物理,通常使用在科学研究(计算物理学)和电脑动画电影制作。实时物理引擎使用通常使用在电子游戏并且简化运算,降低精确度增以减少计算时间,得到在电子游戏当中可以接受的的处理速度。物理处理器(PPU)2006年2月,Ageia发布了首个专门用来处理物理运算的微型处理器——物理处理器(后来被nVidia收购),称为PhysX。实例物理引擎ODEBox2DPhysXBulletHavok引擎应用Phun-一个物理演算软件。ENIAC-用于计算外弹道。参见碰撞侦测包围体布娃娃系统
· V型引擎
参见汽缸曲轴DB601发动机梅林发动机V-1710发动机
· 曲速引擎
星际迷航中的曲速发展史星际旅行中多个星球都有自己开发出曲速的发展历史;在地球,曲速是由泽弗拉姆·科克伦(ZeframCochrane)所开发。在电影《第一次接触》里提到的发明年代是第三次世界大战终战后10年的2063年,试飞船为凤凰号;但在原始电视剧《星际迷航:初代》里则暗示曲速科技更早些年就已经被使用,虽然证据不明。小说《星际旅行之星际联邦》(StarTrek:Federation)则提到2061年科克伦发明曲速引擎。其他文明,比如瓦肯人或安多利亚人则比地球更早发明曲速引擎,在地球开始接触外星文明的前期(例如:22世纪),这些行星的曲速科技也远超前于地球所能及,比如最高可达速度与最高巡航速度。在星际旅行试映电视剧《TheCage》里,曲速被称为“时间翘曲”(timewarp)。这集里反应了时间障(timebarrier)已被打破,但既然这些对话是对一群船只失事的星际旅行者报告的新消息,则...
· 游戏引擎
概况游戏引擎提供一系列可视化开发工具和可重用组件。这些工具通过与开发环境进行集成,方便开发者简单、快速进行数据驱动方式的游戏开发。为了提高游戏开发人员的开发效率,引擎开发者会开发出大量的游戏所需要的软件组件。大多数引擎集成了图形、声音、物理和人工智能等功能部件。游戏引擎会被称为“中间件”,因为它们可以提供灵活和重用平台,向游戏开发者提供所需要的全部核心功能,从而节省大量的游戏开发费用,降低开发的复杂性,缩短游戏的上市时间,所有这些对于高竞争性的游戏产业来说都是关键因素。诸如虚幻系列引擎、FrostbiteEngine、zerodin引擎、Doom3引擎、CryENGINE、3DGameStudio、RenderWare、Gamebryo、Virtools以及Source引擎等引擎。与其它中间件解决方案一样,游戏引擎通常提供平台抽象层,实现同一款游戏可以在各种平台上运行,包括游戏机和个人电脑...

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信