javascript 简介
javascript 诞生于 1995 年当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作。在 javascript 问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,是否输入了无效的值。Netscape Navigator 希望通过 Javascript 来解决这个问题。
1.1 javascript 简史
在 web 日益流行的同时,人们对客户端脚本语言的需求也越来越强烈。哪个时候,绝大多数因特网用户都使用书读仅为 28.8kbit/s的“猫”(调制调节器)上网,但网页的大小和复杂性却不断增加。为完成简单的表单验证而频繁地与服务器交换数据只会加重用户的负担。想象一下:用户填写完一个表单,单击“提交”按钮,然后等待 30 秒,最终服务器返回消息说有一个字段没有填好 … 当时走在技术革新最前沿的 Netscape 公司,决定着手开发一种客户端语言,用来处理这种简单的验证。
当时就职于 Netscape 公司的布兰登.艾奇(Brendan Eich)开始着手为计划于 1995 年 2 月发布的 Netscape Navigator 2 开发一种名为 LiveScript 的脚本语言——该语言将同时在浏览器和服务中使用(它在服务器上的名字叫 LiveWire)。为了赶在发布日期前完成 LiveScript 的开发, Netscapse与Sun公司建立一个开发联盟。在NetScape Navgator2 正式发布前夕,Netscape 为了搭上媒体热炒 java 的顺风车,临时把 LiveScript 改名为 JavaScript。
由于JavaScript 1.0获得了巨大成功,Netscape随即在Netscape Navigator3中又发布了JavaScript1.1。Netscape Navigator 3发布后不久,微软就在其 Internet Explorer 3中加入了名为JScript的JavaScript 实现(命名为JScript是为了避开与Netscape有关的授权问题)。
微软推出其 JavaScript 实现意味着有了两个不同的 JavaScript 版本:Netscape Navigator 中的JavaScript、Internet Explorer中的JScript。与C及其他编程语言不同,当时还没有标准规定JavaScript的
1997年,以 JavaScript 1.1为蓝本的建议被提交给了欧洲计算机制造商协会(ECMA,European Computer Manufacturers Association )。该协会指定39号技术委员会(TC39,Technical Committee #39)负责“标准化一种通用、跨平台、供应商中立的脚本语言的语法和语义”(http://www.ecmainternational.org/memento/TC39.htm)。TC39由来自Netscape、Sun、微软、发展的公司的程序员组成,他们经过数月的努力完成了ECMA-262——定义一种名为ECMAScript(发音为“ek-ma-script”)的新脚本语言的标准。
第二年,ISO/IEC (International Organization for Standardization and International ElectrotechnicCommission,国标标准化组织和国际电工委员会)也采用了ECMAScript作为标准(即ISO/IEC-16262自此以后,浏览器开发商就开始致力于将ECMAScript作为各自 JavaScript实现的基础,也在不同程
上取得了成功。
1.2JavaScript实现
虽然 JavaScript和 ECMAScript 通常都被人们用来表达相同的含义,但 JavaScript 的含义却比 ECMA-262中规定的
JavaScript
要多得多。没错,一个完整的JavaScript 实现应该由下列三
个不同的部分组成(见图1-1)。
DOM
BOMA
ECMAS
口核心(ECMAScript)
口文档对象模型(DOM)口浏览器对象模型(BOM)
图1-1