JavaScript版本一览

来源:互联网 发布:塔吊考试模拟考试软件 编辑:程序博客网 时间:2024/05/01 15:02

JavaScript 1.0
这是JavaScript的第一个发布版本,由Brendan Eich开发,并在1996年3月伴随Netscape公司的Navigator 2.0一起发布。

JavaScript 1.1
这个版本包含在1996年8月发布的Netscape Navigator 3.0中。ECMA-262第一版就是以这个版本为基础编写的。

JavaScript 1.2
Netscape Navigator 4.0开始,JavaScript升级为1.2。此时ECMA-262第一版还没有最终完成,但就算此时已经完成,JavaScript 1.2也无法与ECMA-262第一版保持完全兼容。Netscape为JavaScript 1.2新增了一些功能,但是这些功能确没有被包含在ECMA-262第一版中。而且ECMA-262第一版中新增了两条特性,全球化和平台无关,而JavaScript 1.2有部分功能却无法达到此要求,比如Date对象就是平台相关的。

JavaScript 1.3
Netscape Navigator 升级到4.06时,JavaScript更新为1.3,在我看来这个版本就是为了和ECMA-262第一版保持兼容。JavaScript 1.3修正了==和!=运算符的功能,保持和ECMA-262第一版中描述的一致,除此之外,所有JavaScript 1.2中的功能均被保留下来,同时也保证了和ECMA-262第一版的兼容。

JavaScript 1.4
JavaScript 1.4应该集成在Netscape Navigator 5.0中,但这个浏览器因为开发时间过长,而被Gecko为核心的全新浏览器计划顶掉,所以没有最终发布,这个版本的JavaScript自然也就没有面世。如果发布的话,应该也是一个完全兼容ECMA-262第一版的版本。根据Wikipedia上的说法,1.4的时候发布了一个服务器端版本。

JavaScript 1.5
1998年3月31日,Netscape开源了正在开发中的Communicator源代码,演化为开源项目Mozilla Suite。而不久以后,Mozilla的引擎就更新为Gecko,而包含在Gecko中的JavaScript引擎就是SpiderMonkey,SpiderMonkey在2000年3月发布了RC1,但是直到2004年9月24日,在经历了6个候选版以后,才正式发布了1.5版本。

JavaScript 1.5和ECMA-262第三版完全兼容。而且ECMA-262第三版明确规定允许对其进行扩展,所以在ECMA-262的新版本没有发布之前,SpiderMonkey(用C实现的JavaScript引擎)和Rhino(用Java实现的JavaScript引擎)对其进行了很多扩展,这也就是在1.5以后还有后续版本的原因。

具体在以下几个方面进行了加强:

  • 运行时错误会以异常的形式抛出。
  • 增加了几个格式化数值的函数。
  • 在正则表达式方面进行了多项加强。
  • 可以有条件的定义函数。
  • 可以想定义变量那样定义函数。
  • 可以在try后使用多个catch,捕获不同类型的异常。
  • 增加了getter和setter。(SpiderMonkey适用,Rhino不适用)
  • 可以定义常量。(SpiderMonkey适用,Rhino不适用)

JavaScript 1.6
这个版本的JavaScript应用在Firefox 1.5以及其他基于Gecko 1.8的产品中。具体在以下几个方面进行了加强:

  • 增加了对ECMAScript for XML(E4X)的支持。
  • 为Array对象增加了2个定位方法和5个迭代方法。
  • 字符串和数组泛型。


JavaScript 1.7
JavaScript 1.7涵盖了JavaScript 1.6的所有功能,同时又引入了一些新的特性,包括:particular generators, iterators, array comprehensions, let expressions, and destructuring assignment。该版本在Firefox 2被引入,同时也被应用在其他使用Gecko 1.8.1为内核的产品中。

JavaScript 1.8
JavaScript 1.8覆盖了JavaScript 1.6和JavaScript 1.7的所有功能,只是做了一些小调整。具体包括以下几个方面:

  • 对简单的函数增加了一种简写的语法形式。
  • Generator expressions
  • 为Array对象增加了两个遍历函数
  • Changes in destructuring for..in

对于JavaScript的历史沿革以及版本的变化一直很糊涂,之前整理的《JavaScript创始人Brendan Eich访谈录》和《Netscape的今生今世》提到了一些,但还是很片段,所以找了一些资料开始了这篇文章,但是很多内容介绍的很支离破碎,目前只是做了一个雏形,以后会完善吧。希望大家能通过这篇文章就可以了解到JavaScript发展的过程,也希望大家能提供更多的参考资料帮我完善这篇文章。

参考资料:

  • Mozilla Developer Center - New in JavaScript 1.5
  • Mozilla Developer Center - New in JavaScript 1.6
  • Mozilla Developer Center - New in JavaScript 1.7
  • Mozilla Developer Center - New in JavaScript 1.8
  • Table: JavaScript versions and ECMAScript editions
  • Table: JavaScript and Navigator versions
  • SpiderMonkey Release Notes
  • Rhino History
  • Wikipedia - History of Mozilla Firefox
  • Wikipedia - JavaScript
原创粉丝点击