JS的诞生

174 阅读4分钟

JavaScript诞生

  1995年4月,BrendanEich(布兰登·艾奇) 加入网景公司。Brenden原本研究方向是函数式编程与Scheme语言。但是1995年5月,网景公司指定Brenden成为了“新语言”的设计师。并且要求这个“新语言”要和Java足够的相似(面向对象思想),但是要比Java能够更加简单地上手。

  Brenden志不在此,而且对Java完全不感兴趣,为了完成任务他花了10天时间便把这门“新语言”的最初版本设计了出来。总的来说他的设计思路是这样的:

  • 借鉴C语言的基本语法;
  • 借鉴Java语言的数据类型和内存管理;
  • 借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
  • 借鉴Self语言,使用基于原型(prototype)的继承机制。   所以,Javascript语言实际上是两种语言风格的混合产物——(简化的)函数式编程+(简化的)面向对象编程。

JavaScript名字的由来

  最初为了紧贴Java(有一种咖啡也叫Java),这门“新语言”被命名为Mocha(有一种咖啡也叫Mocha)。

  但由于商标的问题,以及网景公司很多产品已经使用了“Live”作为产品名前缀,Mocha更名为LiveScript。

  由于网景公司与Sun公司有一些合作(网景公司允许Java程序以applet(小程序)的形式,直接在浏览器中运行;甚至还考虑直接将Java作为脚本语言嵌入网页),Sun把Java这个商标授权给了网景公司,于是LiveScript更名为JavaScript

JavaScript的缺陷

  JavaScript被Brenden仅仅花了10天就开发了出来,可想而知JavaScript是如此的粗糙。 阮一峰--Javascript的10个设计缺陷

ECMAScript标准

ECMAScript各个版本

  1997年6月,第一版ECMAScript发布。

  1999年12月,第三版ECMAScript发布,这也是应用最广泛的ECMAScript版本。

  第四版流产。

  第三版发布后,经过了10年,20019年12月第五版ECMAScript才发布,这正是因为这段时间IE浏览器正制霸着市场。

  随着Chrome的崛起,这些新的浏览器的JS引擎都根据ECMAScript标准进行实现。所以除了IE,其他浏览器与浏览器之间的兼容性得到大大提高。

  2015年6月,ECMAScript第六版(ES6)发布。并在之后每一年都发布一版。可见JS地位在不断提高。

  JavaScript与ECMAScript的区别在于,ECMAScript是标准,JavaScript是实现(实际上JavaScript是由ECMAScript,DOM和BOM三者组成的),实现的功能不一定会出现在标准里面,不同的浏览器也有自己独特的JS实现。

JS的发展

JS的兴起--Gmail的诞生

   2004年愚人节,谷歌发布Gmail。Gmail是谷歌开发的一款具有发送接收邮件功能的在线网页。在Gmail出现以前,所有人都认为浏览器只能用于浏览阅读。但是Gmail让用户重新认识了浏览器的功能。

  2005年,Jesse将谷歌实现Gmail的技术命名为AJAX。从此前端技术正式出现。

  2006年,JQuery发布,JQuery是最长寿的JS库,其主要是兼容IE,但随着IE的落寞,JQuery也逐渐淡出前端开发者的视野。

JS的爆发--V8引擎

  Chrome的JS引擎是V8(V1~V7是不同语言的引擎),V8引擎超快的速度让chrome成为了最主流的浏览器。

  2009年,Ryan基于V8,创建了Node.js;2010年Issac基于Node.js写出了npm。有了node.js,前端工程师实现了在浏览器之外执行JS。

  2010年,TJ受Sinatra的启发,发布了Express.js。Node.js与Express.js让前端工程师可以完成后端的内容。虽然还比不上Java,但是至少也具备了手段。

  借助Chrome的风,期间也爆发除了很多前端的技术:gulp、grunt、yeoman、require.js、webpack、Angular、React、Vue等。当然其中一些技术也已经过时了。