ECMAScript5.1中文版

jopen 9年前

关于

关于部分不属于规范,本规范是w3c 规范的镜像版,目前以100%完成,但尚未校订,本规范为阅读而生,意在优化阅读体验。

本规范是ECMAScript5.1中文版,下面是本人整理的一些其他es规范

介绍

这一Ecma标准建立在一些原本的技术上,最为著名的是JavaScript(网景)和JScript (微软)。语言由网景的Brendan Eich发明而第一次出现在这个公司的Navigator 2.0浏览器上。它出现在所有Netscape后来的浏览器以及微软从Internet Explorer 3.0之后的所有浏览器上。

这一标准的编制自1996年十一月开始。这一Ecma标准的第一个版本被1997年六月的Ecma General Assembly采纳。

上述Ecma标准被以快速跟进流程提交至ISO/IEC JTC 1,并作为于1998年四月作为ISO/IEC 16262通过。1998年六月Ecma General Assembly通过了ECMA-262第二版以保持它与ISO/IEC 16262的完全一致性。第一版到第二版的变更仅仅是编辑性质的。

第三版标准引入了强大的正则表达式,更佳的字符串处理,新的控制语句,try/catch异常处理,更严密地错误定义,格式化的数字输出以及一些为国际化和未来语言成长预留的小变更。ECMAScript标准的第三版1999年十二月的Ecma General Assembly采纳并于2002年六月作为ISO/IEC 16262:2002发布。

自第三版发布以来,ECMAScript因其与万维网的关联而获得了广泛采用,它已经成为所有web浏览器实质上都提供的一种编程语言。为了编制第四版 ECMAScript,有很多有意义的工作。尽管这工作没能完成而且也没有作为ECMAScript的第四版发布,它促进了语言的进化。 ECMAScript第五版(发布为ECMA-262 5th edition)纸面化了很多事实上已经在浏览器形成共识的语言规范解析并且增加了对自第三版发布以来的新功能的支持。这些功能包括访问器属性,反射创建以及对象检测,属性特性的程序控制,新增的数组操作函数,JSON对象编码格式,以及提供了改进的错误检查以及程序安全性的严格模式。

这一ECMAScript 5.1版本标准完全与国际标准ISO/IEC 16262:2011的第三版本一致。

ECMAScript是一个充满活力的语言,而且语言的演进尚未完成。有意义的技术性增强将会在未来版本的规范中持续进行。

这一Ecma规范由2011年六月Ecma General Assembly采纳。

范围

此标准定义了 ECMAScript 脚本语言。

一致性

符合标准的 ECMAScript 实现,必须提供并支持本规范描述的所有类型、值、对象、属性、函数、程序语法和语义。

符合标准的 ECMAScript 实现,应当能解释符合 Unic ode 标准3.0或更高版本,以 UCS-2 或 UTF-16 作为编码格式的 ISO/IEC 10646-1 第3级实现里的字符。如果没有额外指明采用的 ISO/IEC 10646-1 子集,则假定组号为300的 BMP 子集。如果没有额外指明采用的编码格式,则假定编码格式为 UTF-16。

符合标准的 ECMAScript 实现,允许提供超出本规范描述的额外类型、值、对象、属性、函数。 尤其是本规范中描述的对象,是允许提供未在本规范中描述的属性和属性值的。

符合标准的 ECMAScript 实现,允许支持本规范未描述的程序语法和正则表达式语法。 尤其是本规范 7.6.1.2 列出的“未来保留字”,是允许作为程序语法的。

参考文献

为了实现符合本规范的应用程序,下列引用文档是不可或缺的。对于标注了日期的文档,仅适用标注的那个版本。 对于未标注日期的文档,以文档的最新版为准(包括任何修订版)。

ISO/IEC 9899:1996, Programming Languages – C, including amendment 1 and technical corrigenda 1 and 2

ISO/IEC 10646-1:1993, Information Technology – Universal Multiple-Octet Coded Character Set (UCS) plus its amendments and corrigenda

概述

本节包含对 ECMAScript 语言非规范性的概述。

ECMAScript 是在宿主环境中执行计算,处理对象的面向对象编程语言。这里定义的 ECMAScript 并未打算要计算性自足;事实上,本规范没有任何针对输入外部数据或输出计算结果的条文。相反,我们期望 ECMAScript 程序的计算环境可提供本规范中描述的对象和其它设施之外的、某些特定环境下的 宿主 (host) 对象,除了说明宿主对象应该提供可被 ECMAScript 程序访问的某些属性,调用的某些方法外,关于它的其他描述和行为超出了本规范涉及的范围。

脚本语言 是一种用于操作,自定义,自动化现有系统设施的编程语言。在这种系统中,已经可以通过一个用户界面使用可用功能,脚本语言是一种机制,暴漏这些功能给程序控制。这样,现有系统可以说给完善脚本语言能力需要的对象和设施提供了一个宿主环境。脚本语言被设计成专业和非专业程序员都能使用。

ECMAScript 最初被设计为 Web 脚本语言 ,提供了一种机制,使浏览器里的网页更加活跃,成为基于 Web 的客户 - 服务器架构的一部分执行服务器计算。ECMAScript 可以为各种宿主环境提供核心的脚本功能,因此本文档为不依赖特定宿主环境的核心脚本语言作出规范。

ECMAScript 的一些机能和其他编程语言的类似;特别是 Java™,Self,和 Scheme。以下文献描述了他们:

Gosling, James, Bill Joy and Guy Steele. The Java™ Language Specification. Addison Wesley Publishing Co., 1996.

Ungar, David, and Smith, Randall B. Self: The Power of Simplicity. OOPSLA '87 Conference Proceedings, pp. 227–241, Orlando, FL, October 1987.

IEEE Standard for the Scheme Programming Language. IEEE Std 1178-1990.

Web 脚本语言

WEB 浏览器为引入客户端计算能力而提供 ECMAScript 宿主环境,例如,它提供的对象有:windows,menus,pop-ups,dialog boxes,text areas,anchors,frames,history,cookies 及输入 / 输出等等。进一步来说,WEB 浏览器中提供的这种宿主环境,它提供了一种方式,使得脚本代码可以去处理诸如改变焦点、页面和图片的加载、卸载、错误和放弃,选择,表单提交和鼠标交互等等事件。脚本代码出现在 HTML 中,显示出来的页面是一个用户接口元素与固定的和计算出来的文本和图片的集合。脚本代码根据用户的交互而做出反应,并不需要存在一个主程序。

WEB 服务器为了服务端的计算则提供了一个完全不一样的宿主环境,包括的对象有:requests,clients,files 以及数据锁定和分享的机制。通过浏览器端脚本及服务端脚本的配合使用,在为基于 WEB 方式的应用程序提供定制的用户接口时,可以将计算分布到客户端和服务端进行。

每一种支持 ECMAScript 的 WEB 浏览器和服务器都将它们自身的宿主环境作为 ECMAScript 的补充,以使得 ECMAScript 的执行环境变得完整。

详细内容:http://yanhaijing.com/es5/#0