十一、Node.js

news2025/2/27 3:01:14

一、Node.js是什么?

在了解Node.js之前,我们先去了解一下什么叫v8引擎。这里参考一下其他博主的资料。

聊聊V8引擎_努力学习前端的77的博客-CSDN博客

这个时候我们再去看下Node.js的定义。

官方对Node.js的定义: 

  • Node.js是一个基于V8 JavaScript引擎的JavaScript运行时环境。

 

也就是说Node.js基于V8引擎来执行JavaScript的代码,但是不仅仅只有V8引擎:

  • 前面我们知道V8可以嵌入到任何C ++应用程序中,无论是Chrome还是Node.js,事实上都是嵌入了V8引擎来执行JavaScript代码
  • 但是在Chrome浏览器中,还需要解析、渲染HTML、CSS等相关渲染引擎,另外还需要提供支持浏览器操作的API、浏览器自己的事件循环等;
  • 另外,在Node.js中我们也需要进行一些额外的操作,比如文件系统读/写、网络IO、加密、压缩解压文件等操作;

我们可以简单理解规划出Node.js和浏览器的差异: 

 

我们来看一个单独的Node.js的架构图:

  • 我们编写的JavaScript代码会经过V8引擎,再通过Node.js的Bindings,将任务放到Libuv的事件循环中;
  • libuv(Unicorn Velociraptor—独角伶盗龙)是使用C语言编写的库;
  • libuv提供了事件循环、文件系统读写、网络IO、线程池等等内容; 

 

二、Node.js的应用场景 

Node.js的快速发展也让企业对Node.js技术越来越重视,在前端招聘中通常会对Node.js有一定的要求,特别对于高级前端开发工程师,Node.js更是必不可少的技能。

  • 应用一:目前前端开发的库都是以node包的形式进行管理;
  • 应用二:npm、yarn、pnpm工具成为前端开发使用最多的工具;
  • 应用三:越来越多的公司使用Node.js作为web服务器开发、中间件、代理服务器;
  • 应用四:大量项目需要借助Node.js完成前后端渲染的同构应用;
  • 应用五:资深前端工程师需要为项目编写脚本工具(前端工程师编写脚本通常会使用JavaScript,而不是Python或者shell);
  • 应用六:很多企业在使用Electron来开发桌面应用程序;

三、Node的安装

 

Node的版本工具:

  

 

四、JavaScript代码执行

 如果我们编写一个js文件,里面存放JavaScript代码,如何来执行它呢?

目前我们知道有两种方式可以执行:

  • 将代码交给浏览器执行;
  • 将代码载入到node环境中执行;

如果我们希望把代码交给浏览器执行:

  • 需要通过让浏览器加载、解析html代码,所以我们需要创建一个html文件;
  • 在html中通过script标签,引入js文件;
  • 当浏览器遇到script标签时,就会根据src加载、执行JavaScript代码;

如果我们希望把js文件交给node执行: 

  • 首先电脑上需要安装Node.js环境,安装过程中会自动配置环境变量;
  • 可以通过终端命令node js文件的方式来载入和执行对应的js文件;

 

  

怎么给程序输入内容?

 

 

什么是REPL? (了解即可)

 


五、Node的输出:

 

六、常见的全局对象

 

 七、特殊的全局对象

八、常见的全局对象

 

九、global对象

 

十、global和window的区别

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/468659.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql优化-减少查询回表次数和回表数据量

减少数据回表常见的三种方式分别是1)查询条件使用聚集索引;2)使用索引下推;3)使用索引覆盖。 1 查询条件使用聚集索引-避免回表查询 按照索引使用数据结构B树叶子结点是否包含表中全部字段,mysql 索引可以…

“数字中国·福启海丝”多屏互动光影艺术秀27日在福州举办

作为深化“数字海丝”的核心区、海上丝绸之路的枢纽城市,为喜迎第六届数字中国建设峰会盛大召开之际,福州市人民政府特此举办“数字中国福启海丝”多屏互动光影秀活动。本次光影秀活动是由福建省文化和旅游厅指导,福州市人民政府主办&#xf…

USB转串口芯片CH9101U

CH9101是一个USB总线的转接芯片,实现USB转异步串口。提供了常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备或者MCU直接升级到USB总线。 特点 全速USB设备接口,兼容USB V2.0。内置固件,仿真标准串…

CH9121网络串口透传应用

概述 随着物联网技术的普及,越来越多的传统设备出现联网功能需求。串口作为使用较为广泛的一种通信接口,串口转以太网,进行远程数据传输需求逐渐显现出来。CH9121内部集成TCP/IP协议栈,无需编程,即可轻松实现网络数据…

撰写项目文档: 节省时间的技巧和模板

高质量的项目文档具有长期价值。它不仅有助于确保项目的成功,而且还可以作为未来项目和计划的参考! 项目文档是任何项目的脉搏,它连接了成功运行项目所需的一切。 文档必须足够宽泛,以便开发能够取得进展。但要足够灵活&#xf…

DAB-Deformable-DETR源码学习记录之模型构建(二)

书接上回,上篇博客中我们学习到了Encoder模块,接下来我们来学习Decoder模块其代码是如何实现的。 其实Deformable-DETR最大的创新在于其提出了可变形注意力模型以及多尺度融合模块: 其主要表现在Backbone模块以及self-attention核cross-atten…

平台+AI:全面拥抱大模型的商业创新,打造企业数字化「柔性供应链」 | D3演讲实录

马斯克曾说:“高生产率解决诸多问题。” 在社会化内卷的大环境下,借助数智化“降本增效”已是不争事实。AI技术日新月异、大量信息繁杂涌现,无数原来烟囱式的模式亟需变革,平台与AI之间怎样融合,才能发挥更大的功效&a…

深度学习量化总结(PTQ、QAT)

背景 目前神经网络在许多前沿领域的应用取得了较大进展,但经常会带来很高的计算成本,对内存带宽和算力要求高。另外降低神经网络的功率和时延在现代网络集成到边缘设备时也极其关键,在这些场景中模型推理具有严格的功率和计算要求。神经网络…

如何减少项目在Corona和V-Ray中的3ds Max渲染时间?

相信在大多 3D 项目里,渲染是最耗费时间的部分,它不仅是建模和纹理化 3D 场景的过程,而是需要利用硬件来完成任务。我们在配备独立GPU和带有2到4个强大内核的CPU的中档计算机上,可以将3ds Max中创建和处理的项目轻松渲染完成&…

MATLAB实现车牌识别

车牌识别主要包括三个主要步骤:车牌区域定位、车牌字符分割、车牌字符识别。 本项目通过对拍摄的车牌图像进行灰度变换、边缘检测、腐蚀及平滑等过程来进行车牌图像预处理,并由此得到一种基于车牌颜色纹理特征的车牌定位方法,最终实现了车牌…

在Docker上部署SpringBoot项目

在Docker上部署SpringBoot项目 在学习中发现了部署的时候总是有各种问题,此文章只有操作步骤没有原理解释,只是用来提醒自己部署步骤 第一步:将SpringBoot项目打包成jar包 使用idea打包,点一下就行 第二部:编写Dockerfile文件 新建一个名为Dockerfile的文件,注意没有后缀…

improper Integral反常积分

笔记 笔记二 例题 hyperlink

安陆EGS20 SDRAM仿真

目录 一. 搭建仿真平台 二. 实现SDRAM连续写入1024个数据,然后再连续读出,并比较 1. 调试过程中问题: 2. 顶层代码 3. 功能代码 三. SDRAMFIFO实现上述功能调试 1. 代码设计要点 2. 仿真过程问题 3. 上板运行调试 安陆反馈&#xf…

80%的人都关注的电子合同签署疑问,君子签官方解答来了!

电子合同签错了在平台可以撤回吗?如果合同上名字签错了,有法律效力吗?签的电子合同,内容会不会被别人看见?… 最近,小编将80%的人都关注的电子合同签署问题进行了整理,官方专业解答帮助大家更好…

mac真机调试h5攻略

原因: h5项目想在mac本通过chrome://inspect/#devices调试 (win上调试h5很简单,请参考:chrome真机调试Android_chrome 调试安卓_芒果终结者的博客-CSDN博客) 调试步骤: 1. 需要下载安装安卓开发工具and…

信息化发展

信息系统是:管理模型、信息处理模型和系统实现条件结合的 信息系统生命周期: 可行性分析与项目开发计划 需求分析 概要设计 详细设计 编码 测试 可以简化为: 系统规划:现行情况的分析,可行性研究报告 -> 设计任务…

Java笔记_13(集合进阶2)

Java笔记_13 一、双列集合1.1、Map的常见API1.2、Map遍历方式一(键找值)1.3、Map集合遍历方法二(键值对)1.4、Map集合遍历方法三(lambda表达式)1.5、HashMap1.6、HashMap练习1.7、HashMap底层源码解析1.7、…

12秒内AI在手机上完成作画!谷歌提出扩散模型推理加速新方法

本文源自:量子位 只需12秒,只凭手机自己的算力,就能拿Stable Diffusion生成一张图像。 而且是完成了20次迭代的那种。 要知道,现在的扩散模型基本都超过了10亿参数,想要快速生成一张图片,要么基于云计算&…

Python 实现txt、excel、csv文件读写【附源码】

目录 前言 一、txt文件读写 二、excel文件读写 总结 前言 本文介绍使用Python进行文件读写操作,包括txt文件、excel文件(xlsx、xls、csv) 编译器使用的是PyCharm 一、txt文件读写 read() # 一次性读取全部内容readline() # 读取第一…

K8s入门教程:10分钟带你速览全程

K8s,英文全称为Kubernetes,就是基于容器的集群管理平台,是用于自动部署、扩缩和管理容器化应用程序的开源系统。 K8s是用来干啥的? 简单来说,可以用一句话来解释:K8s的特点就是所有主机上都装上docker&…