微软和网景的战争(即是技术的斗争,更是抉择的博弈)
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像!
他的设计思路:
- C语言语法
- JAVA数据类型和内存管理
- Scheme函数地位提升
- Self基于Prototype的继承机制
十天后,这门语言诞生了,那该叫什么呢? 布兰登想:JAVA是咖啡,我也叫一个咖啡:Mocha(摩卡咖啡)后来又想着是Livescript
老板说:语言是挺像JAVA,我要名字也像JAVA
布兰登:你是老板你说了算,那就叫JavaScript吧?
JS的天生缺陷
由于设计时间过于仓促,JavaScript具有一些天生的劣势
- 不适合大型项目:没有命名空间,不可以模块化
- 非常小的标准库
- null和undefined
- 全局变量难以控制
- 自动插入行尾分号
- 加号运算符
- NaN
- 数组和对象的区分
- == 和 ===
- 基本类型的包装对象