《JavaScript 的诞生》

514 阅读4分钟

JavaScript的发明者

布莱登.jpg

1995年,JavaScript有当时网景公司的大牛程序员——Brendan Eich(布兰登先生)发明。当时网景公司在选择什么语言作为自家的“网景导航者浏览器”的底层脚本语言时,犹豫不决,可供选择的语言有很多,例如:Perl、Python、Tcl、Scheme等等。这时候,正式Java发布的时候,Java已经发布就很火,网景就看到了,机会想和Java捆绑起来,蹭Java的热度,就决定开发一款很像Java的适应自家浏览器的脚本语言,当时委派的开发者就是布兰登先生

当时布兰登先生是因为想去研究将Scheme语言作为网页脚本语言的可能性,才进入网景公司的,现在让他去搞一个形似Java的脚本语言,他感觉到不爽,再加上他本人也是很不爽Java这门语言,所以他就用了十天时间,也没有测试,就草草开发出了JavaScript。导致了JavaScript在早期有很多的bug。布兰登先生在开发JavaScript的时候借鉴了很多语言的特点,平凑组合成了JavaScript。例如:

  1. JavaScript的语言时借鉴C语言的。
  2. JavaScript的数据类型和内存管理是借鉴Java的(不喜欢Java也借鉴它)
  3. 借鉴了他最喜欢的Scheme语言(很鸡贼)
  4. JavaScript的继承机制是借鉴Self语言的。 这就导致了JavaScript就像一个“缝合怪”一样,有着奇怪的风格和设计缺陷。已经有阮一峰大牛总结了JavaScript的十大设计缺陷了,我这边就简单罗列一下阮大神的总结,具体可以看阮一峰大牛的文章——(Javascript的10个设计缺陷 - 阮一峰的网络日志 (ruanyifeng.com)) JavaScript的十大设计缺陷:
  5. 不适合开发大型程序
  6. 非常小的标准库
  7. null和undefined
  8. 全局变量难以控制
  9. 自动插入行尾分号
  10. 加号运算符
  11. NaN
  12. 数组和对象的区分
  13. == 和 ===
  14. 基本类型的包装对象

JavaScript的发展

JavaScript的发展可以用高开低走来形容。下面我们来简单总结一下JavaScript的ECMAScript发展的重要节点。

ECMAScript的发展

  1. 1995年,JavaScript诞生。
  2. 1996年,网景公司为了应对微软将IE6捆绑在Windows上的无耻战术,向ECMA国际组织提交了JavaScript的设计思路等,制定了JavaScript的标准,为ECMAScript。
  3. 1997年,发布了第一版的ECMAScript。
  4. 1999年,发布了第三版的ECMAScript,也是现在使用最广的版本。
  5. 在之后的十年里面,发布了第四版,不过流产了。也因为IE6的如日中天的火爆,导致ECMAScript沉寂了十年。
  6. 2009年,乘着Chrome浏览器正在追赶IE的东风,ECMAScript发布了第五版本,主要只更新了一些功能,谨慎的没有太大的变动。
  7. 2015年,发现Chrome的胜势在望,就发布了第六版本,现在新浏览器都支持第六版本。之后每年发布一版本,版本号就是当年的年份。

JavaScript的兴起

  1. 2004年,谷歌发布了重量级的应用——Gmail。推动了JavaScript的发展。
  2. 2005年,Jesse将谷歌在Gmail中应用的技术总结并命名为AJAX。从此,前端技术才正式开始出现。
  3. 2006年,JQuery发布,这是目前最长寿的JS库。更一步完善了JavaScript的生存生态。
  4. 2009年,Ryan基于Chrome的JS引擎-V8,创建了Node.js。
  5. Isaac基于Node.js,写出了npm。同年,TJ受到了Sinatra启发,发布了Express.js。标志着前端开始向后端延伸。将JavaScript的应用方向又拓宽到了后端。 JavaScript的迅速发展也离不开移动市场的兴起。移动端不再支持IE,这一重大决定,导致JavaScript以其轻量,耗能少的特点迅速占领移动市场。

可以看到JavaScript的兴起是乘势而起,每一步都踩在了风口上。JavaScript的崛起经历非常的传奇,从一开始微不足道的一个小小的浏览器的脚本语言,到慢慢的在一众浏览器脚本语言中活下来,再到现在不仅仅是应用在浏览器上,在后端、在机器学习、在嵌入式等,都可以使用JavaScript,可以看出JavaScript是一门非常有潜力的语言,如果不不知道该学什么语言,那么强烈推荐可以试试JavaScript。