js和node.js的区别是什么?js与node.js异同总结
一、我们先看看js和node.js的对比情况:
JavaScript:
ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象)
DOM(一些操作页面元素的方法)
BOM(一些操作浏览器的方法)
上面是JavaScript的组成部分,那么Nodejs呢?
Nodejs:
ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象)
os(操作系统)
file(文件系统)
net(网络系统)
database(数据库)
分析:很容易看出,前端和后端的js相同点就是,他们的语言基础都是ECMAScript,只是他们所扩展的东西不同,前端需要操作页面元素,于是扩展了DOM,也需要操作浏览器,于是就扩展了BOM。而服务端的js则也是基于ECMAScript扩展出了服务端所需要的一些API,稍微了解后台的童鞋肯定知道,后台语音有操作系统的能力,于是扩展os,需要有操作文件的能力,于是扩展出file文件系统、需要操作网络,于是扩展出net网络系统,需要操作数据,于是要扩展出database的能力。
这么一对比,相信很多小伙伴对nodejs更加了解了,原来前端和服务端的js如此相似,他们的基础是相同的,只是环境不同,导致他们扩展出来的东西不同而已。(想看更多就到PHP中文网node.js视频教程栏目学习,看视频也能学习)
二、js与node.js异同总结:
javascript组成:ecmascript(定义这门语言的基础,比如语法、数据类型、结构以及一些内置对象等)、DOM(基于ecmascript,扩展出来的用于操作页面元素的方法)、BOM(基于ecmascript,扩展出来的用于操作浏览器的一些方法)。
nodejS是以ECMASCRIPT为基础,然后在这个基础上扩展出来的一些操作其他东西(即操作非浏览器)的一些方法,比如操作OS操作系统、file文件系统、net网络、database数据库等。也就是说nodejs和JS在底层都是一样的,都是ecmascript,但是扩展出来的功能却是不一样的。一个是偏向于前端浏览器,一个是偏向于后端。
在ecmascript部分node和JS其实是一样的,比如与数据类型的定义、语法结构,内置对象。但在js中的顶层对象是window对象,但是在node中没有什么window对象,node中的顶层对象是global对象。这就是二者的差异性。
三、还有些很容易就看出来的区别:
JavaScript是一门语言
node.js不是一门语言,也不是一种特殊的JavaScript方言 - 它仅仅就是用于运行普通JavaScript代码的东西
所有浏览器都有运行网页上JavaScript的JavaScript引擎。Firefox有叫做Spidermonkey的引擎,Safari有JavaScriptCore,Chrome有V8
node.js就是带有能操作I/O和网络库的V8引擎,因此你能够在浏览器之外使用JavaScript创建shell脚本和后台服务或者运行在硬件上
Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行
Node.js是一个可以快速构建网络服务及应用的平台,是用Javascript语言构建的服务平台,可用于后端建立服务器
他们都用的是js语法,前者主要应用前端后者主要应用与后端
node.js和javascript区别还是挺大的,1个平台,1个是编程语言;
javascript是客户端编程语言,需要浏览器的javascript解释器进行解释执行;
node.js是一个基于Chrome JavaScript运行时建立的平台,它是对Google V8引擎进行了封装的运行环境;
简单的说node.js就是把浏览器的解释器封装起来作为服务器运行平台,用类似javascript的结构语法进行编程,在node.js上运行。
以上就是本篇关于node.js和js的区别和异同总结(想学更多就到PHP中文网node.js中文参考手册栏目)。全文通俗易懂,有问题的可以在下方留言。
【小编推荐】
以上就是js和node.js的区别是什么?js与node.js异同总结的详细内容,更多请关注其它相关文章!
推荐阅读
-
node.js中grunt和gulp的区别详解
-
Node.js 中exports 和 module.exports 的区别
-
Node.js 中 exports 和 module.exports 的区别
-
详解Node.js中exports和module.exports的区别
-
node.js中stream流中可读流和可写流的实现与使用方法实例分析
-
node.js中fs.stat与fs.fstat的区别详解
-
javascript - 谁能通俗易懂的解释下node.js里面的全局安装和本地安装的区别吗?
-
node.js中grunt和gulp的区别详解
-
有关node.js中render和send的区别和使用方法(代码附上)
-
关于node.js中fs.stat与fs.fstat的区别