在微软推出JavaScript实现之后,市场上存在着3个不同的JavaScript版本:
- Netscape Navigator 中的JavaScript。
- Internet Explorer中的Jscript。
- ScriptEasc中的CEnvi。
与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版本实现一致。 |