JavaScript和Node.js的关系_nodejs和javascript有什么关系-程序员宅基地

技术标签: node.js  JavaScrip技术  编程资料  javascript  

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cnds123/article/details/128114814

智能推荐

matlab版本对应的MinGW版本_matlab对应mingw-程序员宅基地

文章浏览阅读669次。截止到2023年11月6日,matlab对应的MinGW-w64 GCC编译器的版本,更新到matlabR2023b。_matlab对应mingw

数学建模--三维图像绘制的Python实现_python画三维立体图-程序员宅基地

文章浏览阅读3.1k次,点赞3次,收藏22次。数学建模--三维图像绘制的Python实现_python画三维立体图

ESP32-网络开发实例-扫描可用WiFi网络及WiFi信号强度检测_esp32 wifi信号强度-程序员宅基地

文章浏览阅读3.5k次。扫描可用WiFi网络及WiFi信号强度检测NodeMCU-32S 最强的ESP32 开发板非盗版或副厂的CH340 WiFi 蓝牙ESP-32 可用Arduino IDEESP32-S 是一款通用型WiFi-BT-BLE MCU模组,功能强大,用途广泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和MP3解码等。此款模组的核心是ESP32芯片,具有可扩展、自适应的特点。两个CPU核可以被单独控制或上电。时钟频率的调节范围为80 MHz到240 MHz。用户可以切断CPU的电源,利用低_esp32 wifi信号强度

STM32片上外设时钟使能、失能和复位的区别-程序员宅基地

文章浏览阅读4.1k次,点赞5次,收藏28次。置顶/星标公众号,不错过每一条消息! 今天分享的关于时钟知识,可能很多人没有在意过。这也是之前有朋友问过的问题,这里就简单给大家普及一下吧。1RCC时钟说明在STM..._时钟复位和时钟使能

最强下载器idm_idm_v6.38.7.2-程序员宅基地

文章浏览阅读1.5k次,点赞3次,收藏6次。下载:IDM v6.38.7.2 中文绿色特别版https://eli08.118pan.com/b1064872密码:ye79下载: IDM 6.39.7.3https://eli08.118pan.com/b1064872密码:ye79下载好后先点击绿化,然后在点击后缀exe文件进入软件后设置一下这里要改为:softxm;netdisk这里最好设置为4这要就差不多了..._idm_v6.38.7.2

随便推点

基于向量数据库的深度学习特征存储与快速检索_特征向量存到数据库-程序员宅基地

文章浏览阅读211次。1. 背景介绍1.1 大数据时代的挑战在当今大数据时代,海量的非结构化数据如图像、视频、音频等不断产生,如何高效地存储和检索这些数据成为了一个巨大的挑战。传统的关系型数据库和NoSQL数据库在处理这些非结构化数据时存在诸多限制,如查询效率低下、扩展性差等。_特征向量存到数据库

kali linux学习(永恒之蓝)_linux永恒之蓝-程序员宅基地

文章浏览阅读6.4k次,点赞15次,收藏138次。写在之前永恒之蓝是2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。准备工作pc:windows7(未安装补丁)和kali linux寻找目标靶机ifconig#查看本机_linux永恒之蓝

SCAU高级语言程序设计--实验5 循环结构(一)(1)_scau高级语言程序设计实验5-程序员宅基地

文章浏览阅读361次。SCAU高级语言程序设计--实验5 循环结构(一)(1)一、堂上限时习题1、计算阶乘题目:输入正整数n(n<12),计算n!(注n!=1*2*3*...*n)思路:循环乘而已int main(){ int m,i,sum=1; scanf("%d", &m); if (m > 0&&m < 12){ for (i = 1; i <= m; i++){ sum *= i; } printf("%d\n", sum);_scau高级语言程序设计实验5

Python数据可视化 Pyecharts 制作 Tree 树图_python制作树状图发亮-程序员宅基地

文章浏览阅读3.9w次。大家好,我是Mr数据杨。想象一下,郭嘉、周瑜等众多智谋之士正在用它们来描绘三国的战略图。首先树图,就如同三国的地图,详尽地描绘了数据间的关系,而基本设置,就如同划分各地的界限,确定领土边际可以通过基本设置确定树图的总体规格。坐标轴设置就像是绘制地图上的经纬线,以确定战略点的具体位置。通过精确的坐标轴可以清晰地找到每个数据点,洞察数据之间的关系。树图选项可以让个性化的展示信息,就像诸葛亮设下诸多兵法阵型,变化无穷。根据需求可以选择不同的树图选项,为数据展现提供多样的视觉效果。_python制作树状图发亮

高通安卓Q显示屏不同角度旋转竖屏横屏切换_高通副屏旋转-程序员宅基地

文章浏览阅读1.2k次,点赞3次,收藏12次。由于项目需要,使用了竖屏当横屏用,所以需要将系统显示旋转90度,我们目前平台是基于高通QCM6125安卓10.0系统。为了方便以后其他角度的旋转,添加了persist.panel.orientation 属性来控制角度。开机动画frameworks/base/cmds/bootanimation/BootAnimation.cpp@@ -279,11 +279,36 @@ status_t BootAnimation::readyToRun() { if (status) _高通副屏旋转

鸿蒙系统电视能装APP吗,简单一招,无师自通!教你在智能电视上安装第三方APP软件!...-程序员宅基地

文章浏览阅读4.6k次。如今智能电视也能使用大部分手机APP,但不少电视自带的应用商城是搜索不到你想要的APP的,这时候必须通过“特殊手段”才能达到目的,这篇文章笔点酷玩不罗嗦,给大家介绍非常简单的一招,在99%的智能电视系统上都能成功实现安装第三方APP的目的!这个办法的第一个难点在于手机与电视互联,简单讲只需手机下载一个第三方软件,名字叫做“悟空遥控器”,这个APP已经出品多年,其他相关功能的APP都没有它好用,它的..._鸿蒙电视怎么下载app

推荐文章

热门文章

相关标签