Node.js笔记梳理
Node.js中不可以使用DOM、BOM、AJAX、Axios的 API
基础知识
1.1、Node.js中的顶级对象 —— global、globalThis
在node中,顶级对象是global
,相当于浏览器中的window
。 在ES2020后,新增了globalThis
,他和global
等效
1.2、Buffer 缓冲区
一个类数组对象,用于表示固定长度的字节序列,它的本质是一段内存空间
,专门存储二进制数据。
优势:读写速度更快
1.2.1、创建Buffer
三种方式:Buffer.alloc
、Buffer.allocUnsafe
、Buffer.from
1、Buffer.alloc()
该方法创建buffer,每一个二进制位都会先归0
let buf = Buffer.alloc(10) // 创建了一个长度为10的二进制字节序列: 00 00 00 00 00 00 00 00 00 00 00
2、Buffer.allocUnsafe()
这种方法创建的buffer可能会包含旧的内存数据,所以叫不安全的
let unsafeBuf = Buffer.allocUnsafe(10) // 创建了一个长度为10的二进制字节序列, 但它可能包含之前没清除的数据
3、Buffer.from()
将输入的数据转换为二进制存入buffer
let toBeBuf = Buffer.from('hello node') // toBeBuf 是'hello node'的二进制序列
1.2.2、Buffer操作
1、转String
buf.toString()
2、读写
buffer的元素
类似数组的方式读取
let buf = Buffer.from('hello node')
buf.forEach((b) => {console.log(b.toString())
})buf[1].toString()
修改也是
buf[5] = 35
3、溢出
buffer二进制位能够存储的最大二进制是255(1111 1111
),若超过这个数(比如0000 1111 1111
)则发生溢出, Buffer的处理方法时舍弃高位数据。
示例: 0100 1111 1111 -> 1111 1111
// 舍弃了溢出部分 0100