JavaScript历史

258 阅读4分钟

1、诞生

1995年,Brendan Eich用了10天,设计完成了第一版

  • 基本语法:借鉴C和Java
  • 数据结构:借鉴Java,原始值和对象
  • 函数用法:借鉴Scheme和Awk,函数作为一等公民并引入闭包
  • 原型继承模型:借鉴Self
  • 正则表达式:借鉴Perl
  • 字符串和数组处理:借鉴Python 其他语言,需要学习语言的各种功能,对于Javascript,需要学习各种解决问题的模式。函数式编程和面向对象编程的混合体。

2、JavaScript和Java的关系

两种不一样的语言,但是彼此存在联系。

3、JavaScript与ECMAScript的关系

1997年,ECMA组织发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript。 JavaScript与ECMAScript的关系是,前者是后者的一种实现,后者是前者的规格。

4、JavaScript的版本

  • 1997年7月,ECMAScript1.0
  • 1998年6月,ECMAScript2.0
  • 1999年12月,ECMAScript3.0,成为JavaScript的通行标准
  • 2007年10月,ECMAScript4.0草案发布
  • 2009年12月,ECMAScript5.0
  • 2011年6月,ECMAScript5.1发布,成为ISO国际标准
  • 2013年3月,ECMAScript6草案冻结
  • 2013年12月,ECMAScript6草案发布
  • 2015年6月,ECMAScript6正式发布,更名为ECMAScript2015,TC39委员会计划,以后每年发布一个ECMAScript版本

5、周边大事记

  • 1996年,CSS第一版发布
  • 1999年,IE5部署XMLHttpRequese接口
  • 2001年,微软发布IE6
  • 2001年,Douglas Crockford提出JSON格式,取代XML格式进行服务器和网页之间的数据交换
  • 2002年,Mozilla项目发布Firefox浏览器
  • 2003年,苹果公司发布Safari浏览器
  • 2004年,Google公司发布Gmail
  • 2004年,Dojo框架诞生,标志JavaScript编程框架时代来临
  • 2004年,WHATWG组织成立,加速HTML语言标准进程
  • 2005年,苹果公司建立WebKit引擎
  • 2005年,Ajax方法正式诞生(Asynchronous JavaScript and XML)
  • 2005年,Apache基金会发布CouchDB数据库
  • 2006年,jQuery函数库诞生,作者为John Resig
  • 2006年,微软发布IE7
  • 2007年,Douglas Crockford发表《JavaScript:The good parts》演讲,标志软件行业开始严肃对待JavaScript语言
  • 2008年,V8编译器诞生,Google公司为Chrome浏览器而开发
  • 2009年,Node.js项目诞生,创始人为Ryan Dahl,标志JavaScript可以用于服务器端编程
  • 2010年,NPM\BackboneJS\RequireJS诞生,标志着JavaScript进入模块化开发时代
  • 2012年,单页面应用程序框架(single-page app framework)崛起,AngularJS项目和Ember项目发布
  • 2012年,微软发布TypeScript语言,该语言被设计成JavaScript超集
  • 2013年,ECMA正式推出JSON的国际标准
  • 2013年5月,Facebook发布UI框架库React,引入了新的JSX语法,使得UI层可以用组件开发,同时引入了网页应用是状态机的概念
  • 2015年3月,Facebook发布React Native项目,将React框架移植到手机端,可以用来开发手机APP
  • 2015年4月,Angular框架宣布基于TypeScript语言开发
  • 2015年5月,Node模块管理器NPM超越CPAN,标志JavaScript成为世界上软件模块最多的语言
  • 2015年6月,ECMA标准化组织批准了ECMAScript语言标准,定名为《ECMAScript2015标准》,JavaScript语言正式进入下一阶段,成为一种企业级的、开发大规模应用的语言
  • 2015年6月,Mozilla在asm.js基础上发布WebAssembly项目,这是一种JavaScript引擎的中间码格式,全都是二进制,有利于移动设备加载JavaScript脚本,执行速度提高20+倍,意味着将来的软件,会发布JavaScript二进制包
  • 2016年6月,《ECMAScript2016标准》发布
  • 2017年6月,《ECMAScript2017标准》发布,正式引入async函数,使得异步操作写法出现根本的变化
  • 2017年11月,所有主流浏览器支持WebAssembly