当前位置: 首页 > news >正文

node.js学习笔记1

目录

Node.js是什么

Node.js下载与安装

Buffer缓冲区

一些计算机硬件基础

程序运行的基本流程


Node.js是什么

node.js是一个JavaScript运行环境,或者说,node.js是一个可以运行JavaScript的软件。

可以用于开发服务端、桌面端、工具类应用。

服务器端开发:对于一个上线的项目,光有服务器,是无法运行程序的,而node.js装在服务端,node.js可以接收客户端的请求,并把资源返回,使程序正常运行。

工具类应用:Webpack、Vite、Babel都是借助node.js实现的。

桌面端:VSCode、Postman、Figma都是借助于electron框架实现的,而electron是借助node.js实现的。

Node.js下载与安装

官网:Node.js — Download Node.js®

安装一路next就行了。

node.js没有图形化界面,需要通过命令行操作。

cmd敲node -v可以测试一下是否安装成功。

命令行命令一般结构:命令名称 参数

一些基础的命令:

dir 查看当前目录下的文件,只查看当前目录下的文件,不显示子文件

dir -s 查看目录下所有文件内容,包括子文件夹

cd 进入目录

./ 当前目录

../上一级目录

用命令行启动node.js文件

node.js文件为javascript格式,为xxx.js文件,

在命令行中进入xxx.js文件存放的目录,使用node xxx.js命令运行。

在VSCode的Terminal中敲node xxx.js也可以。

在Node.js中不能使用DOM和BOM的Api。

虽然Node.js可以运行JavaScript,但并非能够处理全部的Api,只能处理fs、url、http、console、path、定时器等Api。

在Node.js中,顶级对象不是window,而是global或globalThis。

Buffer缓冲区

Buffer是一个类似Array的对象。Buffer是一段固定长度的内存空间,用于处理二进制数据。

Buffer的大小固定,且不能调整。Buffer可以直接操作内存,所以性能很好。Buffer中每一个元素的大小是一字节。

创建Buffer

Buffer可以使用alloc、allocUnsafe、from创建。

alloc

alloc语法调用的是Buffer对象中的alloc方法,Buffer是Node.js内置对象。

语法是Buffer.alloc(创建的Buffer的字节数)

用alloc创建的Buffer每一位都是0

let buffer = Buffer.alloc(10);

allocUnsafe

allocUnsafe与alloc类似,语法是Buffer.allocUnsafe(创建的Buffer的字节数)。

但不同的是,用allocUnsafe生成的Buffer,可能会包含内存中的旧数据。

也就是说,内存空间是可以复用的,如果一个程序使用了一段内存空间,在这个程序运行完毕之后,allocUnsafe也访问了这段内存空间,allocUnsafe不会清空这段内存空间的数据,而是会直接复用。

allocUnsafe生成的Buffer中虽然会有意料之外的数据,但速度更快。

let buffer = Buffer.allocUnsafe(10);

from

用该语法,可以把字符串或数组转换为Buffer。

对于字符串,在转换时,每一个字母,会转换成Unicode(Ascii)码表(Unicode兼容Ascii)中对应的数字,再把数字转换成二进制,存到Buffer中。

let buffer = Buffer.from('hello world');

Buffer.from(字符串)可以把字符串转换成Buffer。

Buffer.toString(),可以把Buffer转换回字符串。

对于数组,Buffer会把数组中的每一项转换成二进制,然后存到Bufferr里。

读取Buffer中的数据

使用[下标]

let buffer = Buffer.from('hello world');
console.log(buffer);
console.log(buffer[0]);
console.log(buffer[0].toString(16));

可以使用[]访问数据、修改数据。

Buffer溢出

Buffer中一个位有一字节,一字节的范围是0-255,如果某个字节值的赋值超过了255,则Buffer在存储时会舍弃高位。把高于8位的二进制数字全部丢掉。

Buffer中文

如果Buffer.from中给的是中文,中文会按UTF-8处理,一个中文字占3字节。

一些计算机硬件基础

CPU:中央处理器,整个计算机运行和控制的中心。程序中的运算最终都是由CPU进行处理的。

内存:存储数据的介质。

硬盘:和内存很像,也可以存储数据。内存存储数据读写速度很快,但断电会丢失数据。硬盘读写速度慢,但断电不会丢失数据。对于一些需要长时间保存的数据,比如游戏数据、浏览器等等软件,应该放在硬盘里。

显卡:处理视频信号,当有信息需要在显示器呈现时,就会将信息对应的信号传给显卡,显卡处理完毕后再传给显示器,显示器最终显示。

声卡:处理声音信号,如果遇到声音信号需要播放,会把信号交给声卡,声卡把信号传给外部播放设备(耳机、音响)等。

主板:大的集成电路板,上面有很多插槽,CPU、内存、硬盘和显卡都是插在插槽上,通过主板连在一起。

机箱:把主板和一些其他计算机需要用到的硬件组装在一起。(其他计算机硬件,比如散热器:CPU运行会产生大量的热量,这个热量需要散走,否则会影响CPU速度,散热器有水冷和风冷等,散热器一般放在CPU旁边)。

外设:一些插在机箱上的外部设备,键盘、鼠标、音像、显示器等。

程序运行的基本流程

把硬件都组件完毕之后,计算机也不能完全正常运行。

除了硬件,计算机想运行还需要软件,也就是操作系统。

主流的操作系统有Windows、Linux、MacOS。

操作系统是一种应用程序,用来管理和调度硬件资源。操作系统可以决定让CPU执行哪个程序,可以进行磁盘操作,创建文件、删除文件等。

装系统:将操作系统程序安装到硬盘。

当装完系统,计算机就能正常启动了。

在这个流程中,硬盘会将操作系统相关的一些程序、文件载入到内容中。载入到内存之后,CPU就能运行了,在CPU运行的过程中,如果发现需要传输视频信号,有内容需要在显示器呈现,就会交给显卡处理,显卡处理完,就会交给显示器,显示器最后显示出页面。如果遇到声音信号需要播放,会把信号交给声卡,声卡把信号传给外部播放设备(耳机、音响)等。

在打开电脑之后,应用程序是如何运行的呢?比如说我们想玩一个游戏,这个游戏如何运行。首先我们会把这个游戏的安装包下载到电脑上,再运行安装包,一般是把这个软件安装到硬盘上(但有时候也会安装到软盘上)。点击游戏的图标进行启动,双击图标之后,发生的事情和启动操作系统差不多。首先硬盘会把和游戏相关的程序载入到内存,然后如果有指令需要运行,CPU会处理这些指令,执行过程中的视频信号会交给显卡,显卡传给显示器,音频信号会交给声卡,声卡交给外部播放设备。最后,就会在显示器中显示这个游戏的运行界面。

http://www.lryc.cn/news/593682.html

相关文章:

  • 【数据类型与变量】
  • MySQL——约束类型
  • Springboot项目的搭建方式5种
  • 使用DataGrip连接安装在Linux上的Redis
  • Python+大模型 day02
  • 辛普森悖论
  • 使用看门狗实现复位
  • 1.初始化
  • Web开发 03
  • 双目摄像头品牌
  • 板子 5.29--7.19
  • 【科研绘图系列】R语言绘制显著性标记的热图
  • 【黄山派-SF32LB52】—硬件原理图学习笔记
  • 商业秘密视域下计算机软件的多重保护困境
  • 计算机网络:(十)虚拟专用网 VPN 和网络地址转换 NAT
  • Java多线程基础详解:从实现到线程安全
  • 6. 装饰器模式
  • ROS2 视频采集节点实现
  • Redis常见线上问题
  • 基于LSTM的时间序列到时间序列的回归模拟
  • Keepalived 监听服务切换与运维指南
  • C study notes[1]
  • C语言:20250719笔记
  • CentOS 清理技巧
  • 第二次总结(xss、js原型链)
  • 在开发板tmp目录下传输文件很快的原因和注意事项:重启开发板会清空tmp文件夹,记得复制文件到其他地方命令如下(cp 文件所在路径 文件要复制到的路径—)
  • 【Linux】重生之从零开始学习运维之Nginx之server小实践
  • 定时器中BDTR死区时间和刹车功能配置
  • AWS Partner: Accreditation (Technical)
  • Qt Graphs 模块拟取代 charts 和 data visualization还有很长的路要走