JavaScript和Node.js的关系

JavaScript和Node.js的关系

JavaScript是一门编程语言(脚本语言),JavaScript以前是在浏览器里执行的,需要浏览器里的JavaScript引擎,Firefox有叫做Spidermonkey的引擎,Safari有JavaScriptCore的引擎,Chrome有V8的引擎,后来,有人把Chrome有V8的引擎拿出来做了包装,并加入了其它一些功能模块,就构成了Node.js。简单地说,Node.js是JavaScrip的一种独立于浏览器的运行环境,还集成其它功能如I/O、网络等功能,适用于服务器端应用。

浏览器端JavaScript和服务器端node.js关系(组成区别)

浏览器端也称为前端,服务器端也称为后端。前端和后端的JavaScript它们的语言基础都是ECMAScript,但是所扩展的东西不同:前端需要操作页面元素,于是扩展了DOM,也需要操作浏览器,于是就扩展了BOM。后端需要有操作文件的能力,于是扩展出file文件系统;需要操作网络,于是扩展出net网络系统等。

★web浏览器端JavaScript:

ECMAScript【注】

文档对象模型(DOM),描述处理网页内容的方法和接口。

浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。

★服务器端node.js:

ECMAScript

node.js基本模块:文件系统I/O、网络(HTTP、TCP、UDP、DNS、TLS/SSL等)、二进制数据流、加密算法、数据流等等,为此Node.js中集成了大量的库,还可以使用许多第三方库。

【注:指遵循 ECMAScript 标准规范JavaScript部分,ECMAScript 定义了JavaScript语言的基础部分,如:语法、数据类型结构以及一些内置对象。JavaScript一种通用目的的脚本语言,由具体的Javascript引擎具体实现。JavaScript引擎是一个专门处理JavaScript脚本的虚拟机。】

ECMAScript 是一种由 Ecma 国际组织在标准 ECMA-262 中定义的脚本语言规范。ECMA Script 1.0 于1997年6月发布。从此,JavaScript语言进入了标准化时代。ECMAScript 简称ES。

2009年12月发布ECMAScript 5.0。2011年6月发布ECMAscript 5.1,并且成为ISO国际标准(ISO/IEC16262:2011)。
2015年6月发布ECMAScript 6,并且更名为“ECMAScript 2015”。

ECMAScript版本历史更多情况可见https://zhuanlan.zhihu.com/p/367249029

习惯上,JavaScript一般指浏览器端的JavaScript。JavaScript包括3个部分:ECMAScript、BOM、DOM。BOM与浏览器相关,DOM和HTML页面相关。Node.js中只是包括了ECMAScript。一些关于BOM的操作和DOM的操作都是基于浏览器端运行的,在Node.js中是无法使用的。

☆为什么JavaScript可以在浏览器中被执行?

不同的浏览器使用不同的JavaScript解析器(引擎)。

☆为什么JavaScript可以操作Dom和Bom?

每个浏览器都内置了Dom,Bom的API【注:API(Application Programming Interface ——应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节】。

☆Node.js 能操作 DOM 和 BOM 吗?

不能。因为Node.js没有集成Dom,Bom的API。

☆Node.js可以做什么?

Node.js 作为一个 JavaScript 的运行环境,仅仅提供了JavaScript基础的功能,但集成了文件系统、网络等功能。基于Node.js 提供很多强大的工具,如:

 Express 框架(http://www.expressjs.com.cn/),可以快速构建Web 应用。

Electron框架(https://www.electronjs.org/zh/),可以构建跨平台的桌面应用。

关于JavaScript更多情况,可见https://blog.csdn.net/cnds123/article/details/80864191

关于BOM和DOM更多情况,可见https://blog.csdn.net/cnds123/article/details/109635554

关于Node.js更多情况,可见https://blog.csdn.net/cnds123/article/details/104559497

关于前端、后端 更多情况,可见https://blog.csdn.net/cnds123/article/details/120778082

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值