什么是JavaScript?
JavaScript一种脚本语言,是一种动态类型、弱类型、基于原型的语言。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
JavaScript诞生
刚开始浏览器只能用来浏览,不具备与访问者互动的能力。
JavaScript这样网络脚本语言,解决了浏览器的交互问题。
为什么叫 JavaScript
趁 Java 的热度,临时把 LiveScript 改名为 JavaScript,JavaScript 和 Java 没什么关系。
JavaScript主要由谁开发
34 岁的程序员Brendan Eich,10天 设计出了JavaScript。
(1)借鉴C语言的基本语法;
(2)借鉴Java语言的数据类型和内存管理;
(3)借鉴Scheme语言,函数提升到第一等公民的地位;
(4)借鉴Self语言,基于原型(prototype)的继承机制。
Javascript的10个设计缺陷
- 不适合开发大型程序
- 非常小的标准库
- null 和 undefined
- 全局变量难以控制
- 自动插入行尾分号
- 加号运算符
- NaN
- 数组和对象的区分
- == 和 ===
- 基本类型的包装对象
详情参见: JavaScript 的十个设计缺陷
ECMAScript 是个啥
ECMAScript是一种由Ecma国际通过ECMA-262标准化的脚本程序设计语言。
由 ECMA-262定义的 ECMAScript与Web浏览器没有依赖关系。实际上,这门语言本身并不包含输入和输出定义。
我们常见的 Web 浏览器只是 ECMAScript 实现可能的宿主环境之一。宿主环境不仅提供基本的 ECMAScript 实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。
ECMA-262 是个啥
Ecma International是个行业标准组织,它所通过的标准都是ECMA-这样的编号,然后可以有另外的标准名字。 为了让最初的JavaScript与最初的JScript能遵循同一套标准发展而诞生的ECMAScript,正好排到了作为Ecma的262号标准而已,所以得到ECMA-262编号。
ECMAScript历史版本
版本 | 时间 |
ECMAScript 1.0 | 1997 |
ECMAScript 2.0 | 1998-06 |
ECMAScript 3.0 | 1999-12 |
ECMAScript 3.1 | 2008-07 |
ECMAScript 5.0 | 2009-12 |
ECMAscript 5.1 | 2011-06 |
ECMAscript 6 | 2015-06 |
JavaScript 和 ECMAScript
虽然JavaScript和ECMAScript通常被人们用来表达相同的含义。但是JavaScript的含义却比ECMA-262规定的要多得多。
一个完成 的JavaScript实现应该由下列三个不同的部门组成
- 核心 ECMAScript: 描述了该语言的语法和基本对象
- 文档对象模型 DOM :提供处理网页内容的方法和接口
核心对象是 window, Node等 - 浏览器对象模型 BOM :提供与浏览器交互的方法和接口
node 和 javascript
node = ECMAScript + nodejs API
javascript = ECMAScript + web AP