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月被Ecma组织采纳。
ECMAScript是由ECMA-262标准化的脚本语言的名称。JavaScript和JScript与ECMAScript相容,但包含超出ECMAScript的功能。
[编辑] 版本
至今为止有三个ECMA-262版本(edition)发表,版本3的修订版3.1和第4版正在工作中。
| 版本 | 发表日期 | 与前版本的差异 |
|---|---|---|
| 1 | 1997年6月 | 首版 |
| 2 | 1998年6月 | 格式修正,以使得其形式与ISO/IEC16262国际标准一致 |
| 3 | 1999年12月 | 强大的正则表达式,更好的文字链处理,新的控制指令,异常处理,错误定义更加明确,数据输出的格式化及其它改变 |
| 4 | 放棄 | Fourth Edition was abandoned, due to political differences concerning language complexity, with some of the work forming the basis of Fifth Edition and some forming the basis of ECMAScript Harmony. |
| 5 | Candidate Recommendation (正在工作中) | Adds "strict mode", a subset intended to provide more thorough error checking and avoid error-prone constructs. Clarifies many ambiguities in the 3rd edition specification, and accommodates behaviour of real-world implementations that differed consistently from that specification. Adds some new features, such as getters and setters, library support for JSON, and more complete reflection on object properties[1]. ECMAScript 5 is likely to be published as "ECMAScript 5th edition" towards the end of 2009[2]. |
| Harmony | 正在工作中 | Multiple new concepts and language features — see the section "Future development" below. ECMAScript Harmony is likely to be published as "ECMAScript 6th edition". |
2004年6月Ecma组织发表了ECMA-357标准,它是ECMAScript的一个扩延,也被称为E4X(ECMAScript for XML)。
[编辑] 方言
许多程序,尤其是网页浏览器支持ECMAScript。浏览器中的ECMAScript实现添加了与文档对象模型的接口,可以通过脚本改变网页的内容、结构和样式。
| 程序 | 方言 | 最新版本 | 相应ECMAScript版本 |
|---|---|---|---|
| 基于Gecko的浏览器 | JavaScript | 1.8 | ECMA-262,第三版1 |
| Internet Explorer | JScript | 5.7 | ECMA-262,第三版 |
| Opera | ECMAScript附带JavaScript和JScript的扩展 | 1.3/1.5[1] | ECMA-262,第三版 |
| 基于KHTML的浏览器 | JavaScript | 1.5 | ECMA-262 |
| 微软.NET(ASP.NET) | JScript .NET | 8.0 | ECMA-262,第三版2 |
| Adobe 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):Gecko 1.8.1部分支持E4X[2]和少数其它功能New in JavaScript 1.7
Note (2):微软称JScript8.0“支持ECMAScript3.0几乎所有功能”,但是没有列出哪些功能不支持
Note (3): ActionScript 2除支持ECMA-262 3.0外还支持早期向4.0提出的功能的建议
Note (4):OpenLaszlo声明部分支持第三版[3]
第三者往往使用Mozilla的实现。
苹果电脑的Safari使用基于KDEKJS库的JavaScriptCore。
[编辑] 對應版本
| 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) | 第四版(正在工作中) |
[编辑] 參考文獻
[编辑] 參見
[编辑] 外部鏈結
- (英文)About ECMAScript
- ECMAScript 4 的參考實現
- Standard ECMA-262 ECMAScript Language Specification 3rd edition (December 1999)
- Standard ECMA-290 ECMAScript Components Specification (June 1999)
- Standard ECMA-327 ECMAScript 3rd Edition Compact Profile (June 2001)
- Standard ECMA-357 ECMAScript for XML (E4X) Specification (June 2004)
- Export Root of the ECMAScript 4 Committee Wiki
|
|
|
|---|---|
| 文档呈现语言 | HTML* - XHTML* - XML* - XForms* - DHTML* |
| 样式格式描述语言 | CSS* - XSL* |
| 动态网页技术 | CGI - ASP - ASP.NET - ColdFusion - JSP - PHP - Ruby on Rails |
| 客户端交互技术 | ActiveX - Java Applet - Flash - Flex - AJAX - XMLHTTP* AIR- Silverlight - JavaFX |
| 客户端脚本语言 | JavaScript - JScript - VBScript - ECMAScript - ActionScript |
| 标识定位语言 | URL - URI - XPath - URL重寫 |
| 文档纲要语言 | DTD* - XML Schema* |

