JavaScript诞生于1995年。当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些些输入验证操作。在JavaScript问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,是否输人了无效的值。Netscape Navigator希望通过JavaSctipt来解决这个问题。在人们普遍使用电话拔号上网的年代,能够在客户端完成一些基本的验证任务绝对是令人兴奋的。毕竟,拨号上网的速度之慢,导致了与服务器的每一次数据交换事实上都成了对人们耐心的一次考验。
自此以后,JavaScript逐渐成为市面上常见浏览器必备的一项特色功能。如今,JavaScript的用途早已不再局限于简单的数据验证,而是具备了与浏览器窗口及其内容等几乎所有方面交互的能力。今天的JavaScript已经成为一门功能全而的编程语言,能够处理复杂的计算和交互,拥有了闭包、匿名(lamda , 拉姆达)函数,甚至元编程等特性。作为web 的一个重要组成部分,JavaScript的重要性是不言而喻的,就连手机浏览器,甚至那些专为残障人士设计的浏览器等非常规浏览器都支持它。当然,微软的例子更为典型。虽然有自己的客户端脚本语言VBscript,但微软仍然在Internet Explorer的早期版本中加人了自己的JavaScript实现。
JavaScript从一个简单的输人验证器发展成为一门强大的编程语言,完全出乎人们的意料。应该说,它既是一门非常简单的语言,又是一门非常复杂的语言。说它简单,是因为学会使用它只需片刻功夫;而说它复杂.是因为要直正掌握它则需要数年时间。要想全面理解和掌握JavaScript,关键在于弄洁楚它的本质、历史和局限性。
JavaScript简史
在web日益流行的同时,人们对客户端脚本语言的需求也越来越强烈。那个时候,绝大多数因特网用户都使用速度仅为288kbit/s的“猫”(调制解调器)上网,但网页的大小和复杂性却不断增加。为完成简单的表单验证而频繁地与服务器交换数据只会加重用户的负担。想象一下:用户填完一个表单,单击“提交”按钮,然后等待30秒钟,最终服务器返回消息说有一个必填字段没有填好……当时走在技术革新最前沿的 Netscape公司,决定着手开发一种客户端语言,用来处理这种简单的验证。
当时就职于 Netscape公司的布兰登·艾奇( Brendan eich),开始着手为计划于1995年2月发布的Netscape Navigator2开发一种名为LiveScript的脚本语言——该语言将同时在浏览器和服务器中使用(它在服务器上的名字叫 Live wire)。为了赶在发布日期前完成 Live Script的开发, Netscape与Sun公司建立了一个开发联盟。在Netscape Navigator2正式发布前夕, Netscape为了搭上媒体热炒Java的顺风车,临时把 Live Script改名为JavaScript。
由于JavaScript1.0获得了巨大成功, Netscape随即在 Netscape Navigator3中又发布了JavaScript 1.1。Web虽然羽翼未丰,但用户关注度却屡创新高。在这样的背景下,Netscape把自己定位为市场领袖型公司。与此同时,微软决定向与Navigator竞争的自家产品Internet Explorer浏览器投入更多资源。 Netscape Navigator3发布后不久,微软就在其 Internet Explorer3中加入了名为JScript的 JavaScript实现(命名为JScript是为了避开与 Netscape有关的授权问题)以现在的眼光来看,微软1996年8月为进入Web浏览器领域而实施的这个重大举措,是导致 Netscape日后蒙羞的一个标志性事件。然而,这个重大举措同时也标志着 JavaScript作为一门语言,其开发向前迈进了一大步。
微软推出其 JavaScript实现意味着有了两个不同的 JavaScript版本: Netscape Navigator中的javAscript、 Internet Explorer中的 JScript。与C及其他编程语言不同,当时还没有标准规定 JavaScript的
语法和特性,两个不同版本并存的局面已经完全暴露了这个问题。随着业界担心的日益加剧, JavaScript的标准化问题被提上了议事日程。
1997年,以 JavaScript1.1为蓝本的建议被提交给了欧洲计算机制造商协会(ECMA, European Computer Manufacturers Association)。该协会指定39号技术委员会(TC39, Technical Committee#39
负责“标准化一种通用、跨平台、供应商中立的脚本语言的语法和语义”(htp:/www.ecma international.org/ memento/TC39hm)。TC39由来自 Netscape、Sun、微软、 Borland及其他关注脚本语言
发展的公司的程序员组成,他们经过数月的努力完成了ECMA262定义一种名为 ECMAScript(发音为“ ek-ma-script”)的新脚本语言的标准。
第二年,ISO/IEC(International Organization for Standardization and International Electrotechnical Commission,国标标准化组织和国际电工委员会)也采用了 ECMAScript作为标准(即 ISO/IEC-16262自此以后,浏览器开发商就开始致力于将 ECMAScript作为各自JavaScript实现的基础,也在不同程度上取得了成功。
发表评论