相信很多人都和我一样,在用 JavaScript 实现各种 Web 应用的时候,都曾经对其历史渊源和版本变迁好奇过。特别是在不得不面对浏览器兼容问题时,希望能对问题的源头有所了解。
作为对上述困惑所做的一点行动,下面的表格(尽可能地)列举了 JavaScript , JScript , ECMAScript 及对应浏览器的版本之间的关系。当然这个表格不是完全原创的,主要是合并了以下三个 Wikipedia 文档中的相关表格。希望能够给有兴趣的人带来一点帮助。
1. http://en.wikipedia.org/wiki/ECMAScript
2. http://en.wikipedia.org/wiki/JavaScript
3. http://en.wikipedia.org/wiki/JScript
JavaScript | JScript | ECMAScript | Release date | Netscape Navigator | Mozilla Firefox | Internet Explorer | Opera | Safari | Google Chrome |
1.0 | 1.0 |
| March 1996 | 2.0 |
| 3.0- early versions, August 1996 |
|
|
|
1.1 | 2.0 |
| August 1996 | 3.0 |
| 3.0- later versions, January 1997 |
|
|
|
1.2 |
|
| June 1997 | 4.0-4.05 |
|
|
|
|
|
1.3 | 3.0 | ECMA-262 1st edition/ ECMA-262 2nd edition | October 1998 | 4.06-4.7x |
| 4.0 -Oct 1997 |
|
|
|
1.4 | 4.0 |
|
| Netscape Server |
|
|
|
|
|
| 5.0 |
| March 1999 |
|
| 5.0 |
|
|
|
| 5.1 |
|
|
|
| 5.01 |
|
|
|
1.5 | 5.5 | ECMA-262 3rd edition | November 2000 | 6.0 | 1.0 | 5.5-July 2000 | 6.0-11.0 | 3.0-5 | 1.0-10.0.666 |
| 5.6 | ECMA-262 3rd edition | October 2001 |
|
| 6.0 |
|
|
|
| 5.7 | ECMA-262 3rd edition + ECMA-327 (ES-CP) | November 2006 |
|
| 7 |
|
|
|
| 5.8 | ECMA-262 3rd edition + ECMA-327 (ES-CP) + JSON (RFC 4627) | March 2009 |
|
| 8 |
|
|
|
1.6 |
| 1.5 + Array extras + Array and String generics + E4X | November 2005 |
| 1.5 (Gecko 1.8) |
|
|
|
|
1.7 |
| 1.6 + Pythonic generators + Iterators + let | October 2006 |
| 2.0(Gecko 1.8.1) |
|
|
|
|
1.8 |
| 1.7 + Generator expressions + Expression closures | June 2008 |
| 3.0(Gecko 1.9) |
|
|
|
|
1.8.1 |
| 1.8 + Native JSON support + Minor Updates |
|
| 3.5 |
|
|
|
|
1.8.2 |
| 1.8.1 + Minor updates | June 22, 2009 |
| 3.6 |
|
|
|
|
1.8.5 |
| 1.8.1 + ECMAScript 5 Compliance | July 27, 2010 |
| 4 | 9 |
|
|
|
2.0 (work in progress) |
| Harmony(work in progress) |
|
|
|
|
|
|
|