本文【尝试】介绍JS的背景。资料主要参考自他人博客,以及维基百科(EN,中文)。尽管如此,错误之处必然不少,有待优化。望各位批评指正。
JS的诞生:程序员的弃子
以下引用部分来源于:
Javascript诞生记 - 阮一峰的网络日志 (ruanyifeng.com)
JS的发明者是布兰登·艾奇(Brendan Eich)。他出生于1961年,本科一开始是念物理学的,后来转去了数学和计算机系。有趣的是,作为JS之父,他却并不太喜欢自己的这个孩子。

90年代初的早期浏览器功能非常弱小,而且受众范围也不广。那时,浏览器最大的功能是展示一些图片和文字。并不能和用户交互。
彼时,浏览器的王者是一个叫网景(Netscape)的公司开发的网景浏览器(Netscape Navigator)。1994年,网景浏览器的市场份额有70%(最高甚至达到过90%)。苹果公司的电脑当时内置的浏览器也是网景浏览器。

(图为网景浏览器1.1版)
1995年,网景公司想要给自己的浏览器添加用户交互的功能。当时,判断用户是否要提交一个表单,以及判断他们的输入是否合法这些事情都是在服务器端完成的,但是当时流量费太贵了,如果能在客户端就能判断,会节省不少费用。这需要一门可以给浏览器使用的脚本语言。当时市面上有Perl、Python、Tcl、Scheme等语言可供选择。网景公司的高层犯了难:是直接使用现有的语言开发,还是开发一种全新的语言。前者比较方便,易于推广;后者性能比较好。
同样是1995年,Sun公司将他们开发的Oak语言改名为JAVA向市场推广,宣称它"一次编写,到处运行"(Write Once, Run Anywhere)。网景公司看到后,立刻决定同Sun合作,使用JAVA语言开发。
它不仅允许Java程序以applet(小程序)的形式,直接在浏览器中运行;甚至还考虑直接将Java作为脚本语言嵌入网页,只是因为这样会使HTML网页过于复杂,后来才不得不放弃。
还是在1995年,4月,布兰登·艾奇被招入网景公司。其实最初网景招聘他的时候,是希望他研究将Scheme语言作为网页脚本语言的可能性。但是仅仅1个月之后,公司高层集体“成了JAVA的信徒”,因此他要使用的语言也变成了JAVA。公司要求他以JAVA为基础开发一门新的脚本语言:
未来的网页脚本语言必须"看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手。”
不过此时,网景仍然认为JAVA才是浏览器应用程序(插件)应该使用的语言,浏览器用的脚本语言不过是一个补充,用来粘合JAVA的脚本,顺带能够代替JAVA处理一些简单的事情,稍微降低一下浏览器的负荷。但是布兰登本人对JAVA完全不感兴趣(不是说招我是让我搞Scheme么)。为了完成任务,只花了10天,他便匆匆设计出了第一版的语言。他的基本思想是:
(1)借鉴C语言的基本语法;
(2)借鉴Java的数据类型和内存管理;
(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
(4)借鉴Self语言,使用基于原型的继承机制。
(缝合怪.jpg)
这门脚本语言最初的名字是Mocha(因为Java也是一种咖啡的名字),后来又改为LiveScript,网景公司为了蹭一波JAVA的热度,于是最终将这个语言命名为JavaScript,简称JS。
JS的发展:幸运的猪
本节参考:
微软与网景与浏览器之争 - Leo Chin - 博客园 (cnblogs.com)
站在风口上,猪都会飞。——雷军
又双叒叕是在1995年。微软看到网景浏览器的巨大市场,也欲进军浏览器领域。这一年8月,微软发布了IE浏览器的第一个版本IE1。4个月后又发布了IE2。IE2首次支持了JS。并且微