- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境搭建
- Node.js - 第一个应用
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 查询数据
- Node.js - MySQL 条件查询
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 数据限制
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用工具模块
- Node.js - Web 模块
- Node.js 资源推荐
- Node.js - 快速指南
- Node.js - 资源推荐
- Node.js - 讨论
Node.js - Buffer.allocUnsafeSlow() 方法
NodeJS 的 Buffer.allocUnsafe() 方法用于创建一个指定大小的新缓冲区。如果指定的大小大于 buffer.constants.MAX_LENGTH
或小于 0,则会抛出 ERR_INVALID_ARG_VALUE 类型的错误。如果指定的大小不是数字,则会抛出 TypeError。
使用 buffer.allocUnsafeSlow()
创建的缓冲区,其分配的内存未初始化,内容未知,即可能包含旧缓冲区的内容。它也可能包含敏感数据。可以使用 Buffer.fill(0)
用 0 预填充缓冲区。
语法
以下是 NodeJS Buffer.allocUnsafeSlow() 方法 的语法:
Buffer.allocUnsafeSlow(size)
参数
此方法接受一个参数。解释如下。
size − 这是一个整数值,表示要创建的缓冲区的长度。
返回值
Buffer.allocUnsafeSlow()
方法将返回一个指定大小的新缓冲区。
示例
此示例将使用 NodeJS Buffer.allocUnsafeSlow() 方法创建一个缓冲区:
const buf = Buffer.allocUnsafeSlow(5); console.log(buf);
输出
缓冲区大小为 5。执行上述程序,将生成以下输出:
<Buffer 00 00 00 00 00>
示例
此示例将使用 Buffer.allocUnsafeSlow()
方法创建缓冲区,并使用 Buffer.fill()
方法填充缓冲区的值。
const buf = Buffer.allocUnsafeSlow(5); buf.fill('a') console.log(buf);
输出
缓冲区大小为 5,我们已使用值 'a' 填充了缓冲区的内容。执行上述程序,将生成以下输出:
<Buffer 61 61 61 61 61>
示例
在此示例中,我们将看到如果使用的大小不是数字将会抛出什么错误。
const buf = Buffer.allocUnsafeSlow('5'); buf.fill('a') console.log(buf);
输出
由于使用的大小是字符串,这是一个无效的值,因为大小必须是整数值。执行上述程序时,将抛出如下所示的错误。执行上述程序,将生成以下输出:
TypeError [ERR_INVALID_ARG_TYPE]: The "size" argument must be of type number. Received type string at Function.allocUnsafeSlow (buffer.js:294:3) at Object.<anonymous> (C:\nodejsProject\src\testbuffer.js:1:20) at Module._compile (internal/modules/cjs/loader.js:816:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:827:10) at Module.load (internal/modules/cjs/loader.js:685:32) at Function.Module._load (internal/modules/cjs/loader.js:620:12) at Function.Module.runMain (internal/modules/cjs/loader.js:877:12) at internal/main/run_main_module.js:21:11
nodejs_buffer_module.htm
广告