JavaScript的诞生

290 阅读3分钟

微软和网景的战争(即是技术的斗争,更是抉择的博弈)

1995:网景当年红极一时,网景公司的员工布兰登设计出来JavaScript语言

1996.8:微软的IE3诞生,抢占网景公司市场份额

1996.11:网景打响了第一炮,ECMAScript标准成立

1997:ECMAScript发布

1998:IE捆绑销售到Windows,由于Windows操作系统份额很大,导致网景节节败退

1998:网景做出一项重大决定——开源自己的浏览器,但还是回天乏术

1998:AOL收购网景

1999:ES3发布

2001:IE6诞生,微软开始急速扩张

2004:IE6全球份额达到80%,微软做出错误决定--解散IE6团队,Google创建自己的浏览器团队,广泛搜集微软网景被遣散员工

2005:IE7发布,但是效果不如IE6

2006:Firefox发布,但是此时IE6拥有市场绝大份额

2008:Chrome第一版发布即拥有全球1%份额

2009:ES5发布,跟随Chrome的发布,ES5借助Chrome的势头,距上次ES3发布十年之久,因为那是处于IE支配的年代

2010:此时为止,浏览器领域市场份额基本全是IE6。但是iPhone4的发布,进入了移动时代

2011:Chrome超过Firefox,微软决定和Nokia合作进入移动端,但是不敌苹果

2015:ES6发布,随着Chrome的扩大,ES发展也越发活跃

2016:Chrome市场份额占有62%,同年淘宝天猫宣布不再支持IE6,7,8,对IE产生重创

自此之后,IE江河日下,Chrome独占鳌头,前端也进入了急速发展的时代

微软做出了很多错误的决定:解散IE团队,不思进取。不遵从ES标准,自玩自家导致最终灭亡。没追上时代潮流,移动端时代错失良机,这一步步错误的决定,让一个曾经辉煌一时不可一世的IE浏览器现在慢慢淡出人们视野。

同时让我看到:网景团队和后来留下来的技术人员不断地斗争,完全不曾想过放弃,这是他们的信仰和热爱的东西,面对巨大资本帝国微软的围攻,他们曾失败过,但是正应了那句老话:君子报仇十年不晚。Firefox选对的方向,走了正确的路,终究还是让当年不可一世的IE落得如此下场。

JS的前世今生

1994网景公司发布Navigator 0.9 版本。此时网景急需一种语言使得浏览器和页面互动

Brendan Eich闪亮登场,受命开发这样一种语言,但有个他不喜欢的要求:看起来要跟JAVA像!

他的设计思路:

  1. C语言语法
  2. JAVA数据类型和内存管理
  3. Scheme函数地位提升
  4. Self基于Prototype的继承机制

十天后,这门语言诞生了,那该叫什么呢? 布兰登想:JAVA是咖啡,我也叫一个咖啡:Mocha(摩卡咖啡)后来又想着是Livescript

老板说:语言是挺像JAVA,我要名字也像JAVA

布兰登:你是老板你说了算,那就叫JavaScript吧?

JS的天生缺陷

由于设计时间过于仓促,JavaScript具有一些天生的劣势

  1. 不适合大型项目:没有命名空间,不可以模块化
  2. 非常小的标准库
  3. null和undefined
  4. 全局变量难以控制
  5. 自动插入行尾分号
  6. 加号运算符
  7. NaN
  8. 数组和对象的区分
  9. == 和 ===
  10. 基本类型的包装对象

阮一峰的博客:JS缺陷