JavaScript 的诞生

一、JavaScript设计缺陷

JavaScript的三个设计缺陷

  1. 设计阶段过于仓促

Javascript的设计,其实只用了十天。而且,设计师是为了向公司交差,本人并不愿意这样设计(参见《Javascript诞生记》)。

另一方面,这种语言的设计初衷,是为了解决一些简单的网页互动(比如,检查"用户名"是否填写),并没有考虑复杂应用的需要。设计者做梦也想不到,Javascript将来可以写出像Gmail这种极其庞大复杂的网页。

  1. 没有先例

Javascript同时结合了函数式编程和面向对象编程的特点,这很可能是历史上的第一例。而且直到今天为止,Javascript仍然是世界上唯一使用Prototype继承模型的主要语言。这使得它没有设计先例可以参考。

  1. 过早的标准化

Javascript的发展非常快,根本没有时间调整设计。

1995年5月,设计方案定稿;10月,解释器开发成功;12月,向市场推出,立刻被广泛接受,全世界的用户大量使用。Javascript缺乏一个从小到大、慢慢积累用户的过程,而是连续的爆炸式扩散增长。大量的既成网页和业余网页设计者的参与,使得调整语言规格困难重重。

更糟的是,Javascript的规格还没来及调整,就固化了。

1996年8月,微软公司强势介入,宣布推出自己的脚本语言Jscript;11月,为了压制微软,网景公司决定申请Javascript的国际标准;1997年6月,第一个国际标准ECMA-262正式颁布。

也就是说,Javascript推出一年半之后,国际标准就问世了。设计缺陷还没有充分暴露就成了标准。相比之下,C语言问世将近20年之后,国际标准才颁布。

JS的诞生
JavaScript的创始者 布莱登 因为工作关系,公司要求其给浏览器添加一个脚本功能,公司要求这个脚本必须蹭JAVA的流量,最后布莱登花了十天的时间设计的JS的最初版本(不是实现)

JS的命名
Java即是编程语言,也有咖啡的意思
js命名的版本演变:Mocha摩卡=>LiveScript=>JavaScript
当时浏览器一开始同时就支持Java和JavaScript
后来,JS在浏览器上胜了

二、浏览器大战

微软的跟进
1996年8月IE3发布,支持JScript(微软实现的JS)
浏览器大战开始,每家浏览器的脚本都不太一样

网景的反击
1996年11月,网景向ECMA提交语言标准,由于版权问题,JS语言标准不叫JavaScript,叫ECMAScript

网景之死(被收购)
微软的IE浏览器由于捆绑了Windows,很快超越了网景公司。
1998年,网景浏览器节节败退,公司陷入内忧外患
同年,公司打算放手一搏,将浏览器开源(Firefox)
最终,市场并没有因为开源而重新青睐网景
年底,美国在线AOL宣布开始收购网景
收购后,网景团队里的程序员纷纷被解雇。
布莱登在之后一直协助维护Firefox的运营。

三、ECMAScript标准的制定

1997年6月,第一版ECMAScript发布
1999年12月,第三版发布,这个版本使用最广
第四版,流产
2009年12月,第五版发布,增加了一些功能
2015年6月,第六版发布,新浏览器都支持这一版
之后每一年发布一版,版本号以年份命名

四、JavaScript兴起

2004年愚人节,谷歌发布Gmail在线网页。
2005年,Jesse将谷歌用到的技术命名为AJAX。
从此,前端技术正式出现。
在此之前的网页开发都是由后端和设计师完成。
2006年,jQuery发布,是目前最长寿的JS库。
后来的十年,jQuery大放异彩,直到IE不行了,jQuery才稍微没有那么火

五、总结

JS是历史的选择
一开始浏览器支持很多东西:Java、Flash、VBScript
只有JS活到最后

JS的低开高走
一开始JS就是一个玩具语言
但是JS每次都走对了风口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Supernova_gu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值