一、JavaScript
1.JavaScript语言
JavaScript是ECMAScript的实现,由ECMA 39(欧洲计算机制造商协会39号技术委员会)负责制定ECMAScript标准。
ECMAScript发展史:
时间 | 版本 | 说明 |
1997年7月 | ES1.0 发布 | 当年7月,ECMA262 标准出台 |
1998年6月 | ES2.0 发布 | 该版本修改完全符合ISO/IEC 16262国际标准。 |
1999年12月 | ES3.0 发布 | 成为 JavaScript 的通行标准,得到了广泛支持 |
2007年10月 | ES4.0草案发布 | 各大厂商意见分歧,该方案未通过 |
2008年7月 | 发布ES3.1,并改名为ECMAScript 5 | 废除ECMAScript 4.0,所以4.0版本不存在 |
2009年12月 | ESt 5.0 正式发布 | |
2011年6月 | ES5.1 发布 | 该版本成为了 ISO 国际标准(ISO/IEC 16262:2011) |
2013年12月 | ES6 草案发布 | |
2015年6月 | ES6 正式发布,并且更名为“ECMAScript 2015” | TC39委员会决定每年发布一个ECMAScript 的版本 |
2.JavaScript引擎
JavaScript引擎是指用于处理以及执行JavaScript脚本的虚拟机。
常见的JavaScript引擎:
引擎 | 所属机构/个人 | 浏览器 | 说明 |
SpiderMonkey | Mozilla | Firefox | 第一款JavaScript引擎,早期用于 Netscape Navigator,现时用于 Mozilla Firefox。是用C语言实现的,还有一个Java版本叫Rhino;Rhino 引擎由Mozilla基金会管理,开放源代码,完全以Java编写,用于 HTMLUnit;而后TraceMonkey 引擎是基于实时编译的引擎,用于Mozilla Firefox 3.5~3.6版本;JaegerMonkey :结合追踪和组合码技术大幅提高性能,用于Mozilla Firefox 4.0以上版本 |
JavaScriptCore | Apple | Safari | 简称JSC,开源,用于webkit内核浏览器,如 Safari ,2008 年实现了编译器和字节码解释器,升级为了SquirrelFish 。苹果内部代号为Nitro 的 JavaScript 引擎也是基于 JSC引擎的。至于具体时间,JSC是WebKit默认内嵌的JS引擎,而WebKit诞生于1998年,Nitro 是为Safari 4编写,Safari 4是2009年6月发布。 |
V8 | Chrome | 2008年9月,Google的V8 引擎第一个版本随着Chrome的第一个版本发布。V8 引擎用 C++编写,由 Google 丹麦开发,开源。除了Chrome,还被运用于Node.js以及运用于Android操作系统等 |
|
Chakra | Microsoft | Edge、IE | 译名查克拉,用于IE9、10、11和Microsoft Edge,IE9发布时间2011年3月 |
JerryScript | 三星 | | 三星推出的适用于嵌入式设备的小型 JavaScript 引擎,2015年开源 |