JavaScript、ECMAScript、NodeJs、W3C之间都是什么样的关系
ECMAScript
是一个ECMA组织为所有脚本语言指定的一种语法标准,其实是为JavaScritp定制
- 背景:当时有很多类型的脚本语言没有一个标准,因此网景(创造JS的公司)将JS提交给了国际标准化组织ECMA,制定了一个浏览器脚本语言的标准,被称为ECMAScript
以下都指的是JavaScript不同ECMA标准的版本
JavaScript
- 是一种编程语言 (脚本语言)
JavaScript | Java | |
---|---|---|
what | 编程语言 | 编程语言 |
语言类型 | 解释型语言 | 编译语言 |
运行环境 | 浏览器/nodejs | java虚拟机 |
- 组成
ECMAScript | 核心语言功能 |
---|---|
DOM | 提供操作和访问网页内容的方法 |
BOM | 提供与浏览器交互的方法和接口 |
W3C(World Wide Web Consortium)
W3C组织是对网络标准制定的一个非赢利组织
本身一个HTML是可以跨不同的浏览器工作的,因为当时不同的公司研发了自己不同的Dynamic HTML,因此不能再像以前一样写一份HTML页面就能在不同的浏览器上直接运行了
此时,W3C开始着手制定HTML标准
JS的运行时环境
对于每一段js代码都需要javascript 引擎运行,在nodeJs出现之前,只有浏览器中存在javascript 引擎,因此所有的js只能嵌入浏览器执行
V8
V8是google开源的JavaScript引擎,用于执行JavaScript代码
nodeJS
node.js是一个基于 Chrome V8 引擎的 JavaScript 运行时环境
- nodejs和V8区别有什么呢?
- node.js=V8+内置基本模块(大多用JavaScript编写)
- node.js内置模块:文件系统I/O、网络(HTTP、TCP、UDP、DNS、TLS/SSL等)、二进制数据流、加密算法、数据流等等 - node.js就是带有能操作I/O和网络库的V8引擎,因此你能够在浏览器之外使用JavaScript创建shell脚本和后台服务或者运行在硬件上
- node.js=V8+内置基本模块(大多用JavaScript编写)