第一天 7.1
一、基础概念
1.Node.js是一个开源的,跨平台的JavaScript运行环境(一款应用程序、软件、可以运行JavaScript)。
2.作用:
(1)开发服务器应用
(2)开发工具类应用
3.注意事项:
(1)不可以使用bom,dom.location等API,因为是浏览器的api。
(2)核心语法+API:
1)ECMAScript + fs、url、http、util、console、定时器、path等
2)顶级对象:Global
在浏览器环境中,顶级对象是 window 对象;在 Node.js 环境中,顶级对象是 global 对象–可以使用globalThis去访问顶级对象
二、buffer
1.介绍与创建
// 1.alloc
let buf = Buffer.alloc(10) // node内置模块--自己已经启动 alloc:分配
// console.log(buf); // <Buffer 00 00 00 00 00 00 00 00 00 00> alloc创建的二进制位都会归0
// 2.allocUnsafe
let bufs = Buffer.allocUnsafe(10) // allocUnsafe:可能会包含旧的数据 -- 速度大于alloc
// console.log(bufs);
// 3.from
let buf3 = Buffer.from("10") // from -- 只用于字符串和数组 -- 转换为16进制
console.log(buf3);
2.操作与注意点
与字符串转换 – toString
let buf3 = Buffer.from("[10,12,34]") // from -- 只用于字符串和数组 -- 转换为16进制
console.log(buf3.toString()); // 使用utf-8的编程方式
console.log((Buffer.from([105, 108, 111, 118, 101, 121, 111, 117])).toString());
读写 – buffer类似于数组
let buf = Buffer.from('hello')
console.log(buf[0].toString(2)); // 和上边toString不同 -- 进行数字进制转换 -- 0 1101000
buf[0] = 95 // 修改值
溢出
let buf = Buffer.from('hello')
buf[0] = 361 // 溢出隐藏最高位数字
console.log(buf); // 69 65 6c 6c 6f
中文
let buf = Buffer.from('你好') // utf-8的中文一个字符占3个字节
console.log(buf); // e4 bd a0 e5 a5 bd