二十世纪90 年代中期,大部分因特网用户使用28.8kbit/s 的Modem 连接到网络进行网上冲浪,为解决网页功能简单的问题,HTML 文档已经变得越来越复杂和庞大,更让用户痛苦的是,为验证一个表单的有效性,客户端必须与服务器端进行多次的数据交互。
难以想象这样的情景:当用户填完表单单击鼠标提交后,经过漫长的几十秒等待,服务器端返回的不是“提交成功”的喜悦却是“某某字段必须为阿拉伯数字,请单击按钮返回上一页面重新填写表单!”的错误提示!
当时业界已经开始考虑开发一种客户端脚本语言来处理诸如验证表单合法性等简单而实用的问题。
1995 年Netscape 公司和Sun 公司联合开发出JavaScript 脚本语言,并在其Netscape Navigator 2 中实现了JavaScript 脚本规范的第一个版本即JavaScript 1.0 版,不久就显示了其强大的生机和发展潜力。
由于当时Netscape Navigator 主宰着Web 浏览器市场,而Microsoft 的IE 则扮演追赶者的角色,为了跟上Netscape 步伐,Microsoft 在其Internet Explorer 3 中以
JScript 为名发布了一个JavaScript 的克隆版本JScript 1.0。
1997 年,为了避免无序竞争,同时解决JavaScript 几个版本语法、特性等方面的混乱,JavaScript 1.1 作为草案提交给ECMA(欧洲计算机厂商协会),并由Netscape、Sun、Microsoft、Borland 及其它一些对脚本语言比较感兴趣的公司组成的TC39(第39 技术委员会:以下简称TC39)协商并推出了ECMA-262 规范版本,其定义了以JavaScript 为蓝本、全新的ECMAScript 脚本语言。
ECMA-262 标准Edition 1 删除了JavaScript 1.1 中与浏览器相关的部分,同时要求对象是平台无关的并且支持Unicode 标准。
在接下来的几年,ISO/IEC(估计标准化组织/国际电工委员会)采纳ECMAScript 作为Web 脚本语言标准(ISO/IEC-16262)。
从此,ECMAScript 作为JavaScript 脚本的基础开始得到越来越多的浏览器厂商在不同程度上支持。
为了与ISO/IEC-16262 标准严格一致,ECMA-262 标准发布Edition2,此版本并没有添加、更改和删除内容。
ECMA-262 标准Edition 3 提供了对字符串处理、错误定义和数值输出等方面的更新,同时增加了对try…catch异常处理、正则表达式、新的控制语句等方面的完美支
持,它标志着ECMAScript成为一门真正的编程语言,以ECMAScript为核心的JavaScript脚本语言得到了迅猛的发展。
ECMA-262 标准Edition 4 正在制定过程中,可能明确的类的定义方法和命名空间等概念。
表1.1 是ECMA-262 标准四个版本之间的异同及浏览器支持情况。
1999 年6 月ECMA 发布ECMA-290 标准,其主要添加用ECMAScript 来开发可复用组件的内容。
2005 年12 月ECMA 发布ECMA-357 标准(ISO/IEC 22537)出台,主要增加对扩展标记语言XML 的有效支持。
注意:JavaScript 脚本也能进行服务器端应用程序的开发,但相对于客户端的功能和应用范围而言,一般仍将其作为一门客户端脚本语言对待。