JavaScript 语言概述

JavaScript 是目前Web 应用程序开发者使用最为广泛的客户端脚本编程语言,它不仅可

用来开发交互式的Web 页面,更重要的是它将HTML、XML 和Java applet、flash 等功能强

大的Web 对象有机结合起来,使开发人员能快捷生成Internet 或Intranet 上使用的分布式应

用程序。另外由于Windows 对其最为完善的支持并提供二次开发的接口来访问操作系统各

组件并实施相应的管理功能,JavaScript 成为继.bat(批处理文件)以来Windows 系统里使用最

为广泛的脚本语言。

1.1 JavaScript 是什么

应用程序开发者在学习一门新语言之前,兴趣肯定聚焦在诸如“它是什么”、“它能做什

么”等问题而不是“如何开发”等问题上面。同样,学习JavaScript 脚本,首先来揭开JavaScript

脚本的面纱:“JavaScript 是什么?”

1.1.1 JavaScript 简史

二十世纪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 标准四个版本之间的异同及浏览器支持情况。

表 1.1 ECMA-262 标准各版本间异同及浏览器支持情况

ECMA版本特性 浏览器支持

Edition 1 删除了JavaScript 1.1中与浏览器相关的部分,同时

要求对象是平台无关的并且支持Unicode标准

Netscape Navigators 4(.06版)、

Internet Explorer 5

Edition 2 提供与ISO/IEC-16262标准的严格一致Opera 6.0-7.1

Edition 3 提供了对字符串处理、错误定义和数值输出等方面

的更新,同时增加了对try…catch异常处理、正则表

达式、新的控制语句等方面的完美支持

Internet Explorer 5.5+、Netscape

Navigators 6.0+、Opera 7.2+、

Safari 1.0+

Edition 4* 可能明确的类的定义方法和命名空间等概念未知(此版本正在制订过程中)

1999 年6 月ECMA 发布ECMA-290 标准,其主要添加用ECMAScript 来开发可复用组

件的内容。

2005 年12 月ECMA 发布ECMA-357 标准(ISO/IEC 22537)出台,主要增加对扩展标

记语言XML 的有效支持。

注意:JavaScript 脚本也能进行服务器端应用程序的开发,但相对于客户端的功能和应用范围而言,一般

仍将其作为一门客户端脚本语言对待,后面有专门章节讲述服务器端JavaScript 脚本。

对 JavaScript 历史的了解有助于开发者迅速掌握这门语言,同时也能加深对JavaScript

语言潜力的理解。下面介绍其语言特点。

1.1.2 JavaScript 有何特点

JavaScript 是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,主要用于

创建具有交互性较强的动态页面。主要具有如下特点: