js和node.js的区别是什么?js与node.js异同总结

寻∝梦
寻∝梦 原创
2018-09-05 16:09:23 2695浏览

关于node.js和javascript的区别你知道吗?关于node.js与javascript的相同点你又知道吗?要是都不知道,那还不快来看这篇文章,你还在等什么,现在就看吧

一、我们先看看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中文参考手册栏目)。全文通俗易懂,有问题的可以在下方留言。

【小编推荐】

node.js的优势是什么?node的优点和缺点的介绍

node.js适合做什么?用node.js的好处在哪里?

以上就是js和node.js的区别是什么?js与node.js异同总结的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。