历史

JavaScript 和 Java 的关系

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

  • JavaScript 的基本语法和对象体系,是模仿 Java 设计的

    • 但是,JavaScript 没有采用 Java 的静态类型

    • 因为有很大相似性,所以这门语言才从 LiveScript 改名为 JavaScript

    • JavaScript:很像 Java 的脚本语言

  • JavaScript 的函数是一种独立的数据类型,采用基于原型对象 prototype 的继承链。比 Java 要自由得多

  • Java 语言需要编译,而 JavaScript 语言则是运行时由解释器直接运行

JavaScript 和 ECMAScript 的关系

  • 1996年8月,微软模仿 JavaScript 开发了 JScript 内置于 ie3.0,网景面临丧失脚本语言的主导权的局面

  • 1996年11月,网景 决定把 JavaScript 提交给国际标准化组织 ECMA,希望成为国际标准抵制微软

  • 1997年7月,ECMA 组织发布 262 号标准文件 ECMA-262 的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript

  • ECMAScript 与 JavaScript 的关系是:前者是后者的规格,后者是前者的一种实现,在日常场合,这两个词是可以互换的

  • ECMAScript 只用来标准化 JavaScript 这种语言的基本语法结构

  • ECMA-262 标准也被另一个国际标准化组织 ISO 批准,标准号是 ISO-16262

JavaScript 的版本

  • 1997年7月,ECMAScript 1.0

  • 1998年6月,ECMAScript 2.0

  • 1999年12月,ECMAScript 3.0,成为 JavaScript 的通行标准,得到了广泛支持

  • 2007年10月,ECMAScript 4.0 草案发布,但因为过于激进的大幅升级而遭到大公司的反对

  • 2008年7月,因为对于下一版本应该包括哪些功能。分歧太大,ECMAScript 4.0 废弃 并将其中涉及现有功能改善的一小部分,发布为 ECMAScript 3.1,不久后改名为: ECMAScript 5

  • 2009年12月,ECMAScript 5.0 正式发布

  • 2011年6月,ECMAScript 5.1 发布,并成为 ISO 国际标准 ISO/IEC16262:2011。到了 2012年底,所有主要浏览器都支持 ECMAScript 5.1 版的全部功能

  • 2013年3月,ECMAScript 6 草案冻结,不再添加新功能,新的设想将被放到 ECMAScript 7

  • 2013年12月,ECMAScript 6 草案发布

  • 2015年6月,ECMAScript 6 正式发布 更名为 ECMAScript 2015,TC39委员会计划,每年发布一个 ECMAScript 版本

周边大事记

  • 1996年,样式表标准 CSS 第一版发布

  • 1997年,DHTML (Dynamic HTML,动态HTML) 发布,允许动态改变网页内容,标志着 DOM 模式(Document Object Model,文档对象模式) 正式应用

  • 1998年,网景开源了 浏览器,导致了 Mozilla 项目的诞生

  • 1999年,IE 5 部署了 XMLHttpRequest 接口,允许 JavaScript 发出 HTTP 请求,为后来大行其道的 Ajax 应用创造了条件

  • 2000年,KDE 项目重写了浏览器引擎 KHTML,为后来的 WebKit 和 Blink 引擎打下基础

  • 2001年,时隔 5 年,IE 6 发布

  • 2001年,Douglas Crockford 提出 JSON 格式,用于取代 XML 格式。进行服务器和网页之间的数据交换,JavaScript 可以原生支持这种格式,不需要额外部署代码

  • 2002年,Mozilla 发布了它的浏览器的第一版 后来起名为 Firefox

  • 2003年,苹果公司发布了 Safari 浏览器第一版

  • 2004年,谷歌发布了 Gmail,促成了互联网应用程序这个概念的诞生

  • 2004年,Dojo 框架诞生,为不同浏览器提供了同一接口,并为主要功能提供了便利的调用方法,这标志着 JavaScript 编程框架的时代开始来临

  • 2004年,WHATWG 组织成立,致力于加速 HTML 语言的标准化进程

  • 2005年,苹果在 KHTML 引擎的基础上,建立了 WebKit 引擎

  • 2005年,Ajax方法 (Asynchronous JavaScript and XML) 正式诞生,它几乎成了新一代网站的标准做法,促成了 Web 2.0 时代的来临

  • 2005年,Apache 基金会发布了 CouchDB 数据库,这是一个基于 JSON 格式的数据库,可以用 JavaScript 函数定义视图和索引,标志着 NoSQL 类型的数据库的诞生

  • 2006年,jQuery 函数库诞生,为操作网页 DOM 结构提供了非常强大易用的接口

  • 2006年,IE 7 发布 标志重新开始启动浏览器的开发

  • 2006年,Google 推出 Google Web Toolkit 项目,提供了 Java 编译成 JavaScript 的功能开创了将其他语言转为 JavaScript 的先河

  • 2007年,WebKit 引擎在 iPhone 手机中得到部署,标志着 JavaScript 语言开始能在手机中使用了,意味着有可能写出在桌面电脑和手机中都能使用的程序

  • 2007年,Douglas Crockford 发表了《JavaScript: The good parts》的演讲,标志着软件行业开始严肃对待 JavaScript 语言,对它的语法开始重新认识

  • 2008年,V8 编译器诞生,让 JavaScript 的运行变的非常快,提高了 JavaScript 的性能,推动了语法的改进和标准化。并且开源,扩展了 JavaScript 的应用领域

  • 2009年,Node.js 项目诞生,创始人 Ryan Dahl,标志着 JavaScript 可以用于服务器端编程,并且可以承受很大的并发流量

  • 2009年,CoffeeScript 发布,可以转换为 JavaScript,但是语法比 JavaScript 简单,开启了其他语言转为 JavaScript 的风潮

  • 2009年,PhoneGap 项目诞生,将 HTML 5 和 JavaScript 引入移动设备的应用程序开发,主要针对 iOS 和 Android 平台,使得 JavaScript 可以用于跨平台的应用开发

  • 2009年,Google 发布 Chrome OS,号称是以浏览器为基础发展成的操作系统,允许直接使用 JavaScript 编写应用程序,类似的还有 Mozilla 的 Firefox OS

  • 2010年,三个重要的项目诞生,NPM、BackboneJS 和 RequireJS 标志着 JavaScript 进入模块化开发的时代

  • 2011年,Windows 8 操作系统,将 JavaScript 作为应用程序的开发语言之一,直接提供系统支持

  • 2011年,Google 发布了 Dart 语言,目的是结束 JavaScript 在浏览器的垄断,提供更合理、更强大的语法和功能。Chromium 浏览器有内置 Dart 虚拟机,可以运行 Dart 虚拟机,可以运行 Dart 程序,但 Dart 程序也可以编译成 JavaScript 运行

  • 2011年,微软工程师 Scott Hanselman 提出,JavaScript 将是互联网的汇编语言,因为它无处不在,而且变的越来越快

  • 2012年,单页面应用程序框架 single-page app framework 开始崛起

  • 2012年,微软发布 TypeScript ,设计为 JavaScript 的超集

  • 2012年,Mozilla 基金会提出 asm.js 规格,是 JavaScript 的子集,为了给其他语言提供一个编译规范,使其可以编译成高效的 JavaScript 代码

  • 2013年,Mozilla 基金会发布了手机操作系统 Firefox OS

  • 2013年,ECMA 正式退出 JSON 的国际标准,意味着 JSON 格式已经变得与 XML 格式一样重要和正式了

  • 2013年,5月,FaceBook 发布 UI 框架库 React,引入新的 JSX 语法,使得 UI 层可以用组件开发,同时引入了网页应用是状态机的概念

  • 2014年,微软推出 JavaScript 的 Windows 库 WinJS,标志微软公司全面支持 JavaScript 与 Windows 操作系统的融合

  • 2014年,11月,Node 的一部分核心开发者离开 Node.js 创造了 io.js 项目,迫使 Joyent 公司放弃对 Node 项目的控制,并将其转交给新成立的开放性质的 Node 基金会

  • 2015年,3月,Facebook 发布了 React Native,为 JavaScript 语言开发高性能原生 App 打开了一条道路

  • 2015年,4月,Angular 框架 2.0 将基于 TypeScript 开发,等于为 JavaScript 引入了强类型

  • 2015年,5月,NPM 超越 CPAN,JavaScript 成为世界上软件模块最多的语言

  • 2015年,5月,Google 发布 Polymer 框架 1.0 目标是生产环境可以使用 WebComponent 组件

  • 2015年,6月,ECMA 标准化组织正式批准了 ECMAScript 6 语言标准,定名为 《ECMAScript 2015 标准》

  • 2015年,6月,Mozilla 在 asm.js 的基础上发布 WebAssembly,这是一种类似 JavaScript 引擎的中间码格式,全部都是二进制,类似 Java 的字节码,有利于移动设备加载 JavaScript 脚本,执行速度提高了 20+ 倍,这意味着将来的软件,会发布 JavaScript 二进制包

  • 2016年,6月,《ECMAScript 2016 标准》发布,只增加了两个较小的特性

  • 2017年,6月,《ECMAScript 2017 标准》发布,正式引入了 async 函数,异步操作的写法出现了根本的变化

  • 2017年,11月,所有主流浏览器全部支持 WebAssembly,这意味着任何语言都可以编译成 JavaScript,在浏览器运行

最后更新于