一、JavaScript 发展历程
- JavaScript是一种高级的、解释型的编程语言,发明人是布兰登。
- 1995年,网景招募了布兰登·艾克,后来网景决定发明一种与Java搭配使用的辅助脚本语言并且语法上有些类似,为了在其他竞争提案中捍卫JavaScript这个想法,公司需要有一个可以运作的原型。布兰登在1995年5月仅花了十天时间就把原型设计出来了。最初命名为Mocha,1995年9月在Netscape Navigator 2.0的Beta版中改名为LiveScript,同年12月,Netscape Navigator 2.0 Beta 3中部署时被重命名为JavaScript。
- 微软公司于1995年首次推出Internet Explorer,从而引发了与Netscape的浏览器大战。微软对Netscape Navigator解释器进行了逆向工程,创建了JScript,以与处于市场领导地位的网景产品同台竞争。
- 1996年11月,网景正式向ECMA(欧洲计算机制造商协会)提交语言标准。1997年6月,ECMA以JavaScript语言为基础制定了ECMAScript标准规范ECMA-262。JavaScript成为了ECMAScript最著名的实现之一。
- ECMAScript 标准的制定时间
-
1997年6月,第一版ECMAScript发布
-
1999年12月,第三版发布,这个版本使用最广
-
第四版,流产
-
2009年12月,第五版发布,增加了一些功能
-
2015年6月,第六版发布,新浏览器都支持这一版
-
之后每年发布一版,版本号以年份命名
- JavaScrip 兴起
- 2006年,jQuery发布,是目前最长寿的JS库
- ECMAScript是纸上的标准,JS是浏览器的实现,纸上标准往往落后于浏览器,先实现,再写进标准
- JavaScript爆发
- Chrome的JS引擎叫做V8,2009年,Ryan基于V8创建了Node.js
- 2010年,Isaac基于Node.js写出了npm,前端工程师可以在浏览器之外执行JS了,Node.js快速风靡
- 同年,TJ受 Sinatra启发,发布了Express.js,从此,前端工程师可以愉快地写后端应用了
二、Javascript的设计缺陷
- 有缺陷的原因
- 设计阶段过于仓促:Javascript的设计只用了十天,设计初衷是为了解决一些简单的网页互动,并没有考虑复杂应用的需要。
- 没有先例:Javascript同时结合了函数式编程和面向对象编程的特点,至今为止,Javascript仍然是世界上唯一使用Prototype继承模型的主要语言。
- 过早的标准化:Javascript的发展非常快,根本没有时间调整设计就固化了,Javascript推出一年半之后,国际标准就问世了。
- 解决方法
- 如果遵守良好的编程规范,加上第三方函数库的帮助,Javascript的这些缺陷大部分可以回避
- Javascript目前是网页编程的唯一语言,许多新项目大大扩展了它的用途,node.js使得Javascript可以用于后端的服务器编程,coffeeScript使得可以用python和ruby的语法,撰写Javascript
- 只要发布新版本的语言标准(比如 ECMAscript 5),就可以弥补这些设计缺陷