可以说,25年前,网页开发中最常用的代码之一就被创建出来了。互联网的出现推动JavaScript发展到其前所未有的地步。自从JavaScript发布以来,它不仅增强了其作为强大编程语言的地位,而且在现代网页开发中获得了新的应用领域。
受Scheme、Java和Self的启发,JavaScript于1995年由Brendan Eich在网景通信(Netscape Communications)工作时开发。上世纪90年代,网景通信通过其浏览器Netscape Navigator在互联网上占有相当大的份额,该浏览器被广泛看好,而不是第一款主流网络浏览器Mosaic浏览器。
马克•安德森(Marc Andreessen)是网景通信公司的联合创始人,他是伊利诺伊大学(University of Illinois)开发团队的一员,该团队于1993年参与了Mosaic浏览器项目。随着网络的普及,科技公司争相开发互联网上最高效的浏览器。
微软抓住了风头,启动了Internet Explorer项目,试图从网景手中夺取对因特网的控制权。这引发了微软和网景为在浏览器份额市场上取得霸主地位而展开的激烈的浏览器大战。
当时,网页开发人员渴望使用脚本语言在网页上创建或添加动态特性。最初,他们将目光投向Java,但最终意识到需要更灵活的东西来增强用户体验。
网景意识到了这一点,并设想了一种轻量级脚本语言,允许网页开发人员在网页上添加交互式功能。时间是关键,这时JavaScript之父出现了。
1995年,Bernard Eich与网景签约,为Netscape Navigator 2.0浏览器的发布创建并实现一种动态语言。这个项目是作为一项紧急任务分配给Eich的。然而,他认为这是一个为他所热爱的东西工作的机会,他开始与网景合作。因此,轻量级脚本语言的概念诞生了。它被Eich命名为Mocha,但后来被重命名为Live Script。在短短十天内,Eich开发了一个功能原型,并准备在Netscape Navigator 2.0beta浏览器中实现。
为了保持在浏览器市场的霸主地位,网景同意与Sun Microsystems合作,Sun Microsystems开发了一种名为Java的编程语言。这一联盟意味着Sun Microsystems确保了Netscape Navigator作为网页交付平台的使用,使Java可供Java社区使用。
几乎一年后的1996年,Live Script最终被重新命名为JavaScript,这是一种营销策略,以获得Java社区的认可。JavaScript是Netscape Navigator 2.0浏览器中用于小型客户端项目的脚本语言,而Java则被认可为开发令人印象深刻的网页解决方案的专用工具。
随后,微软对JavaScript进行了反向工程,为他们的Internet Explorer 3开发了一个自定义版本。它被命名为JScript,这是为了避免与Sun Microsystems的法律问题,sunmicrosystems拥有Java品牌,并将其授权给网景。
干净、灵活、非开发人员可以访问的JavaScript(和JScript)非常流行,使网页更具交互性和动态性。
不幸的是,他们都开始获得负面的声誉,这是因为进入的门槛低,这意味着人们可以在只有一点知识或毫无知识的情况下编写代码片段。此外,JavaScript经常搅扰人们(弹出广告、浏览器嗅探等),而不是增强他们的体验。
解决这个问题的一个重要举措是ECMA标准化。Netscape和Sun Microsystems向ECMA国际提交了标准化JavaScript的文档,ECMA国际会把持该标准。标准化是一个重要的步骤,也是对这种新语言的强烈要求。
这使JavaScript向更广泛的大众开放,并允许开发人员在脚本语言的发展过程中拥有发言权。标准化还有一个目的,就是让那些因负面原因而使用代码的人受到监管。为了避免侵犯Sun的Java商标,ECMA委员会决定命名标准语言ECMAScript。
这导致了更多的误解,但最终ECMAScript被用来指代规范,JavaScript过去(现在仍然)被用来指代脚本语言。