JS和node.js的区别
-
什么是node.js
node.js是一个基于 Chrome V8 引擎的 JavaScript 运行时的环境。 -
什么是JavaScript
2.1比较JavaScript 和 Java
两者之间没有关系
V8是google开源的JavaScript引擎,用于执行JavaScript;类似JVM执行java字节码。在node.js 诞生之前,V8是内置于Chromeium中的,现在也内置于node.js中。
node.js = v8 + 内置基本模块(大多用JavaScript编写)。类似JRE= JVM + java标准库
node.js 诞生之前,JavaScript只能运行与浏览器中,现在也可以在服务器端运行于node.js -
Node.js 和 JavaScript 的异同
3.1 JavaScript的组成:
ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象)
DOM(一些操作页面元素的方法)
BOM(一些操作浏览器的方法)
3.2 Node.js的组成:
ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象)
OS(操作系统)
file(文件系统)
net(网络系统)
database(数据库)
注意:
ECMAScript (是js的标准,js是它的具体实现和扩展,他描述语言的语法和基本对象,如:语法、运算符、语句、继承机制、数据结构以及一些内置对象)
DOM(文档对象模型,描述处理网页内容的方法和接口,将整个文档document解析成dom树供用户使用js对文档进行处理)。
BOM(浏览器对象模型,描述可以和浏览器窗口交互的方法和接口「对象结构」,如:window对象,history,location,navigator等)
分析:
很容易看出,前端和后端的js相同点就是,他们的语言基础都是ECMAScript,只是他们所扩展的东西不同。
前端需要操作页面元素,于是扩展了DOM,也需要操作浏览器,于是就扩展了BOM。
后端需要有操作系统的能力,于是扩展os,需要有操作文件的能力,于是扩展出file文件系统、需要操作网络,于是扩展出net网络系统,需要操作数据,于是要扩展出database。
总结:
node.js是平台,javascript是编程语言;
node.js应用于后端,javascript应用于前端
javascript是客户端编程语言,需要浏览器的javascript解释器进行解释执行;
node.js是一个基于Chrome JavaScript运行时建立的平台,它是对Google V8引擎进行了封装的运行环境;
简单的说node.js就是把浏览器的解释器封装起来作为服务器运行平台,用ECMAScript语法进行编程,在node.js上运行。因此,可以将node.js看成是运行在服务端的 javaScript。