JavaScript 网页编程从入门到精通 (清华社"视频大讲堂"大系·网络开发视频大讲堂)
上QQ阅读APP看书,第一时间看更新

1.1 JavaScript发展历史

为了发挥JavaScript的全部潜力,了解它的本质、历史及局限性是十分重要的。本节将简单介绍JavaScript和客户端脚本的起源。

1.1.1 第一个网页脚本语言

1992年,一家名为Nombas的公司开发了一个叫做C减减(C-minus-minus,简称Cmm)的嵌入式脚本语言。Cmm的设计理念很简单:开发一个足够强大、可以替代宏操作(macro)的脚本语言,同时保持与C(和C ++)足够的相似性,以便开发人员能很快学会。

这个脚本语言被捆绑在一个叫做CEnvi的共享软件中,它首次向开发人员展示了强大威力。后来,Nombas把Cmm更名为ScriptEase。

当Netscape Navigator网页浏览器开始流行时,Nombas开发了一个可以嵌入网页中的CEnvi的版本。这些早期的试验被称为Espresso Page(浓咖啡般的页面),它们代表了第一个在万维网上使用的客户端语言。而Nombas没有料到它的理念将会成为万维网的一块重要基石。

1.1.2 Netscape发明了JavaScript

当网上冲浪越来越流行时,对于开发客户端脚本的需求也逐渐增大。此时,大部分互联网用户还仅仅通过28.8Kbit/s的调制解调器连接到网络,频繁的服务器端验证请求和极慢的网速让用户苦不堪言。

那时正处于技术革新最前沿的Netscape公司,开始认真考虑开发一种客户端脚本语言来解决这些简单的问题。1995年,就职于Netscape公司的布兰登·艾奇(Brendan Eich),开始着手为计划于1995年2月发布的Netscape Navigator 2开发一种名为LiveScript的脚本语言,该语言将同时在浏览器和服务器中使用(它在服务器上的名字叫LiveWire)。为了赶在发布日期前完成LiveScript的开发,Netscape与Sun公司建立了一个开发联盟。

在Netscape Navigator 2正式发布前夕,Netscape为了搭上媒体热炒Java的顺风车,临时把LiveScript改名为JavaScript,这也是最初的JavaScript 1.0版本。

1.1.3 三足鼎立

由于JavaScript 1.0获得了巨大成功,Netscape随即在Netscape Navigator 3中又发布了JavaScript 1.1版本。

互联网的发展速度超出了人们的想象,在这样的时代背景下,微软决定与Navigator展开竞争。在Netscape Navigator 3发布后不久,微软就在其Internet Explorer 3中加入名为JScript的JavaScript实现(命名为JScript是为了避开与Netscape的JavaScript纠纷)。

在微软推出JavaScript实现之后,市场上存在着3个不同的JavaScript版本:

Netscape Navigator中的JavaScript。

Internet Explorer中的JScript。

ScriptEasc中的CEnvi。

与C及其他编程语言不同,当时还没有标准统一规定JavaScript的语法和特性,3个不同版本并存的局面也带来了很多兼容性问题。随着业界担心的日益加剧,JavaScript的标准化问题被提上了议事日程。

1.1.4 ECMAScript诞生

1997年,以JavaScript 1.1为蓝本的建议被提交给欧洲计算机制造商协会(ECMA)。该协会指定一个技术委员会负责标准化一种通用、跨平台、供应商中立的脚本语言的语法和语义。这个技术委员会当时由来自Netscape、Sun、微软、Borland及其他关注脚本语言发展的公司的程序员组成,他们经过数月的努力完成了ECMA-262的新脚本语言的标准,并命名为ECMAScript。

第二年,国标标准化组织和国际电工委员会(ISO/IEC)也采用了ECMAScript作为标准(即ISO/IEC-16262)。自此以后,浏览器开发商就开始致力于将ECMAScript作为各自JavaScript实现的基础。