学一件新的事物,从它的历史开始了解总是更容易也更容易的,所以我们今天来讨论一下JavaScript的历史。

那么JavaScript最开始是为什么被开发出来的呢?

1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。比如,如果网页上有一栏”用户名”要求填写,浏览器无法判断访问者是否真的填写了,只有让服务器端判断,如果没有填写,服务器端就返回错误,要求用户重新填写,这很浪费时间和服务器资源。因此,网景公司急需一种网页脚本语言,使浏览器可以与网页互动。
而就在这时,Sun公司将Oak语言改名为Java,正式向市场推出。网景公司很看好Java的前景,决定与Sun公司结成联盟。网景管理层很快就决定,最好的选择是让布兰登·艾奇(Brendan Eich)设计一种新语言,且的网页脚本语言必须”看上去与Java足够相似”,但是比Java简单,使得非专业的网页作者也能很快上手。

布兰登·艾奇的主要方向和兴趣是函数式编程,最开始网景公司招聘他的目的,是研究将Scheme语言作为网页脚本语言的可能性。布兰登·艾奇本人也是这样想的,他以为进入新公司后,会主要与Scheme语言打交道。但仅仅一个月之后,公司就决定以Java作为脚本语言。
但是,布兰登·艾奇对Java一点兴趣也没有,为了应付公司安排的任务,他只用10天时间就把Javascript设计出来了。由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript写出来的程序混乱不堪。
JavaScript 的历史 - 图1
布兰登·艾奇(Brendan Eich)

浏览器大战

微软于1995年首次推出Internet Explorer,从而引发了与Netscape 的浏览器大战。
因为JavaScript的火爆,1996年的8月IE3发布时,就支持了微软自己实现的JScript。为了对微软进行反击,1996年11月,网景向ECMA提交语言标准,由于版权问题,JS语言标准不叫JavaScript,叫ECMAScript。

  • 1997年6月,第一版ECMAScript发布
  • 1992年12月,第三版发布,这个版本使用最为广泛。
  • 2009年12月,第五版发布,增加了一些功能。
  • 2015年6月,第六版发布,新浏览器都支持这一版。
  • 之后每年发布一般,版本号以年份命名。

    JS与ECMAScript的关系

  • ECMAScript是纸上的标准,JS是浏览器的实现

  • 纸上标准往往落后于浏览器,先实现再写进标准

    网景被收购

    由于微软的IE浏览器捆绑进了Windows,IE6如日中天,很快就超越了网景浏览器,1998年,网景浏览器节节败退,公司陷入了内忧外患的情况,同年,公司打算搏一搏,将浏览器开源(Firefox),虽然浏览器开源在当时造成了很大的轰动,但市场并没有因为浏览器的开源就青睐网景。
    最终,美国在线AOL宣布开始收购网景,收购后网景团队里的程序员纷纷被解雇。

    Chrome的横空出世

    由于IE6的巨大成功,微软觉得不再值得花费多余的力气进行开发与维护,且一直因为没有竞争对手的出现,所以微软直接解散了IE6的开发团队。
    这时谷歌抓住了机会,在2004年,谷歌雇用了一些Firefox和IE的开发者;2008年时Chrome发布,迅速的拿下了1%的份额;2016年,Chrome全球份额62%,成为了全球最受欢迎的的浏览器。

    JAVAScript的兴起与爆发

    Chrome的JS引擎叫做V8。
    2004年愚人节,谷歌发布了Gmail在线网页,这个网页可以让人们在线发送邮件,在之前人们认为网页只能用来查看新闻和图片,Gmail的兴起让用户和开发者眼前一亮。
    2009年,Ryan基于V8创建了Node.js。
    2010年,Isaac基于Node.js写出npm.
    前端工程师终于可以在浏览器之外执行JS了,Node.js快速风靡。

以上,就是JS的历史啦,其实浏览器最开始支持很多东西,比如Java、flash、VBScript等,但只有JS每次都抓住了机会,走对了风口,才活到了最后。