JavaScript早期历史

课后整理 2020-12-20

在微软推出JavaScript实现之后,市场上存在着3个不同的JavaScript版本:

与C及其他编程语言不同,当时还没有标准统一规定JavaScript的语法和特性,3个不同版本并存的局面也带来了很多兼容性问题。随着业界担心的日益加剧,JavaScript的标准化问题被提上了议事日程。

虽然后来ECMAScript作为JavaScript语言的标准,但是人们依然习惯的称之为JavaScript。另外,早期各公司在发布JavaScript版本时,都是沿用各自的版本号,同时各个版本所支持的特性也不完全统一。下面简单比较早期Netscape、Microsoft和ECMA所发布的JavaScript版本号,以及它们之间的的关联特性,如表1.1所示。

表1.1  JavaScript、JScript和ECMAScript版本比较

版本 说明
JavaScript 1.0 由Netscape Navigator 2.0版本浏览器开始支持,目前该版本已经被废弃。它也是JavaScript最原始的版本。
JavaScript 1.1 由Netscape Navigator 3.0版本浏览器开始支持,引入真正的Array对象,解决了1.0版本中大量的错误。
JavaScript 1.2 由Netscape Navigator 4.0版本浏览器开始支持,引入switch语句、正则表达式和大量其他特性,与ECMAScript v1版本基本符合,但是还存在很多不兼容性。
JavaScript 1.3 由Netscape Navigator 4.5版本浏览器开始支持,修正了JavaScript 1.2版本的不兼容性,符合ECMAScript v1版本标准。
JavaScript 1.4 只在Netscape的服务器产品中支持。
JavaScript 1.5 由Netscape Navigator 6.0版本浏览器和Mozilla浏览器开始支持,引入异常处理机制,符合ECMAScript v3版本标准。
JScript 1.0 由IE 3早期版本浏览器开始支持,基本上相当于JavaScript 1.0。
JScript 2.0 由IE 3后期版本浏览器开始支持,基本上相当于JavaScript 1.1。
JScript 3.0 由IE 4版本浏览器开始支持,基本上相当于JavaScript 1.3,符合ECMAScript v1版本标准。
JScript 4.0 还没有浏览器对其支持。
JScript 5.0 由IE 5版本浏览器开始支持,支持异常处理机制,部分符合ECMAScript v3版本标准。
JScript 5.5 由IE 5.5版本浏览器开始支持,IE 6版本浏览器开始支持JScript 5.6版本。基本相当于JavaScript 1.5版本浏览器,完全符合ECMAScript v3版本标准。
ECMA v1 JavaScript语言的第一个标准版本,标准化了JavaScript 1.1版本的基本特性,并添加了一些新特性,没有把switch语句和正则表达式设置为标准,与JavaScript 1.3和JScript 3.0版本实现一致。
ECMA v2 对ECMA v1版本进行了维护,添加了说明文档,但是没有添加新的特性。
ECMA v3 标准化了switch语句、正则表达式和异常处理机制,与JavaScript 1.5和JScript 5.5版本实现一致。