JavaScript 的诞生

271 阅读3分钟

始于网景

1994年,网景公司(Netscape)发布了Navigator浏览器。这是历史上第一个比较成熟的网络浏览器,在四个月内占据了四分之三的浏览器市场,轰动一时。

但是这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。以我们上网冲浪时经常需要的注册为例,如果填写了错误格式的用户名,浏览器会立刻告知你。这其中就是脚本语言在发挥作用。

试想一下,以当年那个网速,提交一个表单过了很久,服务器再返回一个格式错误让你重新填,是不是很让人崩溃。因此,网景公司很有先见的想到需要一个脚本语言,使得浏览器可以与网页互动。

这个重任就交到了工程师 Brendan Eich 手中。

JavaScript 和 Java

很多人看到 JavaScript 都会很自然的联想到 Java,实际上二者是两个不同的编程语言。

1995年,Sun 公司正式向市场推出 Java,当时的宣传是"一次编写,到处运行"(Write Once, Run Anywhere),它看上去很可能成为未来的主宰。Java 的大热使得网景公司决心与 Sun 公司合作,甚至考虑过用 Java作为脚本语言嵌入网页,只是因为这样会使HTML网页过于复杂,后来才不得不放弃。

最终管理层给 Brendan Eich 的任务就是:这个新的网页脚本语言必须"看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手。因此,这个脚本语言在命名上就刻意往 Java 身上靠。两个公司的联合,有点像现在明星结婚炒一波热度,以此来提高知名度。

10天设计一门新语言

Brendan 对于 Java 并没有太大的兴趣,他只用10天时间就把 Javascript 设计出来了。谁能想到,这个当初用来交差的脚本语言日后随着 Web 的兴起而兴起。现在,你所见到的网页里,几乎都有 JavaScript 的身影。

但是由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript 写出来的程序混乱不堪。也有人专门写书吐槽 JavaScript 的不合理之处。

微软介入

1995年8月微软首次推出 Internet Explorer,也就是大家所熟知的 IE 浏览器。为了与 JavaScript 对标,同时推出了自己的脚本语言 Jscript,其实只是 JavaScript 的一种实现。

同年11月,为了压制微软,网景公司决定申请 Javascript 的国际标准;1997年6月,第一个国际标准 ECMA-262正式颁布。

也就是说,Javascript推出一年半之后,国际标准就问世了。设计缺陷还没有充分暴露就成了标准。相比之下,C语言问世将近20年之后,国际标准才颁布。这也使得 JavaScript 的一些缺陷一直延续了下来。

浏览器大战

由于 IE 浏览器与微软的 Windows 系统绑定,微软每卖出一份 Windows,上面就有一个 IE 浏览器。所以可想而知微软最终赢下了第一次浏览器大战,现在人们大多知道微软,但是当年的网景公司已经消失在互联网浪潮之中。

但是 JavaScript 由于其优秀的特性一直发展至今,微软后来也迫于压力采取了国际标准。现如今的浏览器全部都支持 JavaScript,这就是 JavaScript 的传奇历程。


参考文章:

  1. JavaScript 维基百科
  2. JavaScript诞生记