ECMAScript
维基百科,自由的百科全书
ECMAScript是一种由欧洲计算机制造商协会(ECMA)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的扩展。
目录 |
[编辑] 历史
1995年12月升阳公司与网景通讯公司一起引入了JavaScript。1996年3月网景通讯公司发表了支持JavaScript的网景导航者2.0。由于JavaScript作为网页的客户面脚本语言非常成功,微软于1996年8月引入了Internet Explorer3.0,这个软件支持一个“约”与JavaScript相容的JScript。
1996年11月网景通讯公司将JavaScript提交给欧洲计算机制造商协会进行标准化。ECMA-262的第一个版本于1997年6月被欧洲计算机制造商协会采纳。
ECMAScript是由ECMA-262标准化的脚本语言的名称。JavaScript和JScript与ECMAScript相容,但包含超出ECMAScript的功能。
[编辑] 版本
至今为止有三个ECMA-262版本发表,第四版正在工作中。
版本 | 发表日期 | 与前版本的差异 |
---|---|---|
1 | 1997年6月 | 首版 |
2 | 1998年6月 | 格式修正,以使得其形式与ISO/IEC16262国际标准一致 |
3 | 1999年12月 | 强大的正则表达式,更好的文字链处理,新的控制指令,异常处理,错误定义更加明确,数据输出的格式化及其它改变 |
4 | 正在工作中 | 可能更明确的类的定义,命名空间等等 |
2004年6月欧洲计算机制造商协会发表了ECMA-357标准,它是ECMAScript的一个扩延,它也被称为E4X(ECMAScript for XML)。
[编辑] 方言
许多程序,尤其是网页浏览器支持ECMAScript。ECMAScript还添加了与文档对象模型的接口来改变文件。
程序 | 方言 | 最新方言版本 | 相应ECMAScript版本 |
---|---|---|---|
基于Gecko的浏览器 | JavaScript | 1.6 | ECMA-262,第三版1 |
Internet Explorer | JScript | 5.6 | ECMA-262,第三版 |
Opera | ECMAScript附带JavaScript和JScript的扩展 | ? | ECMA-262,第三版 |
基于KHTML的浏览器 | JavaScript | ? | ECMA-262 |
微软.NET(ASP.NET) | JScript .NET | 8.0 | ECMA-262,第三版2 |
Macromedia Flash | ActionScript | 3 | ECMA-262,第三版3 |
Adobe Acrobat | JavaScript | 1.5 | ECMA-262,第三版 |
其它ECMA程序 | DMDScript | 1.06 | ECMA-262 |
OpenLaszlo平台 | JavaScript | 1.4 | ECMA-262,第三版4 |
iCab | InScript | 3.22 | ECMA-262,第三版 |
Note (1):Mozilla(1.8 Betas)和Firefox 1.5部分支持E4X[1]和少数其它功能New in JavaScript 1.6
Note (2):微软称JScript8.0“支持ECMAScript3.0几乎所有功能”,但是没有列出哪些功能不支持
Note (3): ActionScript 2除支持ECMA-262 3.0外还支持早期向4.0提出的功能的建议
Note (4):OpenLaszlo声明部分支持第三版[2]
第三者往往使用Mozilla的实现。
苹果电脑的Safari使用基于KDEKJS库的JavaScriptCore。
[编辑] ECMAScript、JavaScript、JScript之间的版本比较
JavaScript | JScript | ECMAScript |
---|---|---|
1.0(Netscape 2.0,1996年3月) | 1.0(IE 3.0-早期版本,1996年8月) | |
1.1(Netscape 3.0,1996年8月) | 2.0(IE 3.0-后期版本,1997年1月) | |
1.2(Netscape 4.0,1997年6月) | ||
1.3(Netscape 4.5,1998年10月) | 3.0(IE 4.0,1997年10月) | 第一版(1997年6月)/第二版(1998年6月) |
1.4(只使用于网景服务器) | 4.0(Visual Studio 6,没有IE版本) | |
5.0(IE 5.0,1999年3月) | ||
5.1(IE 5.01) | ||
1.5(Netscape 6.0,2000年11月以及此后网景和Mozilla版本) | 5.5(IE 5.5,2000年7月) | 第三版(1999年12月) |
5.6(IE 6.0,2001年10月) | ||
1.6(Gecko 1.8、Firefox 1.5,2005年秋) | 第三版,加上一些改进 | |
JScript .NET(ASP.NET,没有新的IE版本) | (据说有其它ECMA成员参加JScript .NET的设计) | |
JavaScript 2.0(proposal) | 第四版(正在工作中) |