ECMAScript
ECMAScript 是一种脚本语言的标准。 最初制定的目标是给不同浏览器的脚本语言提供一种统一的标准。
该语言与web浏览器没有依赖关系,web浏览器只是ECMAScript标准实现的一种宿主环境之一。其他的宿主环境还包括NODE 和 Adobe Flash。
ECMAScript是脚本语言的基础,在此基础上可能构建出更完善的脚本语言。
ECMAScript标准主要规定了这门语言的以下部分:
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
JavaScript
运行在web浏览器的脚本语言。是ECMAScript标准的实现。
三部分构成:
- 核心(ECMAScript)
- 文档对象模型(DOM)(基于ECMAScript,扩展出来的用于操作页面元素的方法)
- 浏览器对象模型(BOM)(基于ECMAScript,扩展出来用于操作浏览器的一些方法)
NODE
运行在服务器端端语言。是ECMAScript标准实现与扩展。增加了很多服务端处理所需要端功能模块。
组成部分:
- 核心(ECMAScript)
- OS(操作系统)
- file(文件系统)
- net(网络系统)
- database(数据库)
异同
-
相同点
- node和JavaScript的底层都是一样的,都是ECMAScript,比如数据类型的定义,语法结构,内置对象。
-
不同点
- 扩展的功能不一样,node扩展的功能更偏向与服务端,JavaScript扩展的功能更偏向与浏览器端。
- JavaScript中顶级对象是windo对象,node中的顶级对象是golbal对象。
- 在JavaScript中,定一个全局变量,是可以通过window对象来访问的,但是在node中,是不能通过global对象来访问的。例如
var a = 'ddd'; console.log(a); // undefined