《JavaScript 的诞生》

106 阅读3分钟

今天来分享一下我学到关于JavaScript的相关知识 JavaScript在1995年由网景公司的Brendan Eich(布兰登·艾奇),在网景导航者浏览器上首次设计实现而成,仅用了十天的时间,网景公司管理层希望它外观看起来像Java蹭一波流量,因此取名为JavaScript。

1996年8月IE3发布支持JScript(微软实现的JS),此时每家浏览器的脚本都不太一样。1996年11月网景向ECMA组织提交语言标准,由于版权问题JS语言标准不叫Javascript,叫ECMAscript。

微软的IE浏览器由于捆绑进行WINDOWS,很快超越其他浏览器,1998年网景浏览器节节败退,公司陷入内忧外患,同年公司打算搏一搏将浏览器开源。最终美国在线AOL宣布开始收购网景,布兰登在之后一直协助维护Firefox的运营。

随着时代进步2004年Chrome横空出世,2008年发布迅速拿下市场份额的1%。2016年份额就已经超过62%。同时2015年ECMAscript第六版发布,新浏览器都支持这一版本。但由于设计阶段过于仓促、没有先例、过早的标准化导致Javascript的设计不够完善。Javascript的设计,其实只用了十天。而且,设计师是为了向公司交差,本人并不愿意这样设计,Javascript同时结合了函数式编程和面向对象编程的特点,这很可能是历史上的第一例。而且直到今天为止。Javascript仍然是世界上唯一使用Prototype继承模型的主要语言。这使得它没有设计先例可以参考。再加上过快的发展,根本没有时间调整设计。1995年5月,设计方案定稿;10月,解释器开发成功;12月,向市场推出,立刻被广泛接受,全世界的用户大量使用。Javascript缺乏一个从小到大、慢慢积累用户的过程,而是连续的爆炸式扩散增长。大量的既成网页和业余网页设计者的参与,使得调整语言规格困难重重。

更糟的是,Javascript的规格还没来及调整,就固化了。1996年8月,微软公司强势介入,宣布推出自己的脚本语言Jscript;11月,为了压制微软,网景公司决定申请Javascript的国际标准;1997年6月,第一个国际标准ECMA-262正式颁布。也就是说,Javascript推出一年半之后,国际标准就问世了。设计缺陷还没有充分暴露就成了标准。相比之下,C语言问世将近20年之后,国际标准才颁布。

Javascript的10个设计缺陷

  1. 不适合开发大型程序
  2. 非常小的标准库
  3. null和undefined
  4. 全局变量难以控制
  5. 自动插入行尾分号
  6. 加号运算符
  7. NaN
  8. 数组和对象的区分
  9. == 和 ===
  10. 基本类型的包装对象 既然Javascript有缺陷,数量还不少,那么它是不是一种很糟糕的语言?有没有前途?

回答是Javascript并不算糟糕,相反它的编程能力很强大,前途很光明。 首先,如果遵守良好的编程规范,加上第三方函数库的帮助,Javascript的这些缺陷大部分可以回避。 其次,Javascript目前是网页编程的唯一语言,只要互联网继续发展,它就必然一起发展。 最后,只要发布新版本的语言标准就可以弥补这些设计缺陷。当然,标准的发布和标准的实现是两回事,上述的很多缺陷也许会一直伴随到Javascript存在的最后一天。

参考文章

  1. JavaScript 百度百科
  2. JavaScript 诞生记
  3. JavaScript 的10个设计缺陷