Warning:
This wiki has been archived and is now read-only.

ES5

From HTML5 Chinese Interest Group Wiki
Jump to: navigation, search

(暂放) 原文链接 http://www.ecma-international.org/ecma-262/5.1/index.html

本文档开放给所有人编辑,希望参与贡献请移步下面地址注册: http://www.w3.org/Help/Account/Request/Public


版权声明 © 2011 Ecma国际

这份文档和它可能的翻译版可以被复制并配备到别处,且对它的评论或解释或协助它实现的衍生作品也可以被完整或部分且没有任何形式的限制地编著、复制、出版、传播。这么做的前提是将版权声明和本章节包含到所有这样的复制版和衍生作品中。尽管如此,这份文档本身不能被以任何形式修改,包括移除其版权声明或其对Ecma国际的引用部分都是不允许的,除非是Ecma国际以开发任何文档或是可交付内容为目的需要(在这种情况下必须保留版权声明),又或是根据需求将其翻译到除英语之外的其它语言。

引言

本Ecma标准建立在几项开创性技术上,其中最为著名的是JavaScript(网景)和JScript (微软)。JavaScript语言由网景的Brendan Eich发明而第一次出现在该公司的Navigator 2.0浏览器中。此后该语言出现在网景公司后续所有浏览器中,同时出现在微软公司自Internet Explorer 3.0始的所有浏览器中。

本标准的开发始于1996年11月,第一版在1997年6月被Ecma General Assembly采纳。

这项标准随后提交至ISO/IEC JTC 1,并在1998年4月被接纳为国际标准ISO/IEC 16262,其推进过程是相当快的。1998年6月Ecma General Assembly通过了ECMA-262第二版以保持其与ISO/IEC 16262的完全一致性。实际上,第一版到第二版的变更仅仅是编辑性的。

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

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

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

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

该Ecma规范于2011年6月被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

概述

详情:ES5/overview

记法约定

详情:ES5/notation

源代码文本

详情:ES5/source

词法

详情:ES5/lexical

类型

详情:ES5/types

类型转换与测试

可执行代码与执行环境

详情:ES5/execution

表达式

语句

函数定义

详情:ES5/functions

程序

详情:ES5/program

标准ECMAScript内置对象

详情:ES5/builtins

错误

详情:ES5/errors

附录

详情:ES5/annex

参考书目

  1. ANSI/IEEE Std 754-1985: IEEE Standard for Binary Floating-Point Arithmetic. Institute of Electrical and Electronic Engineers, New York (1985)
  2. The Unicode Consortium. The Unicode Standard, Version 3.0, defined by: The Unicode Standard, Version 3.0 (Boston, MA, Addison-Wesley, 2000. ISBN 0-201-61635-5)
  3. Unicode Inc. (1998), Unicode Technical Report #15: Unicode Normalization Forms
  4. ISO 8601:2004(E) Data elements and interchange formats – Information interchange -- Representation of dates and times
  5. RFC 1738 “Uniform Resource Locators (URL)”, available at <http://tools.ietf.org/html/rfc1738>
  6. RFC 2396 “Uniform Resource Identifiers (URI): Generic Syntax”, available at <http://tools.ietf.org/html/rfc2396>
  7. RFC 3629 “UTF-8, a transformation format of ISO 10646”, available at <http://tools.ietf.org/html/rfc3629>
  8. RFC 4627 “The application/json Media Type for JavaScript Object Notation (JSON)“ , available at <http://tools.ietf.org/html/rfc4627>