历史
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,在浏览器运行
最后更新于
这有帮助吗?