- 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 Where 条件
- Node.js - MySQL Order By 排序
- 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.allocUnsafe() 方法
NodeJS 的 Buffer.allocUnsafe() 方法用于创建指定大小的新缓冲区。如果给定的大小大于 buffer.constants.MAX_LENGTH 或小于 0,则会抛出类型为 ERR_INVALID_ARG_VALUE 的错误。如果给定的大小不是数字,则会抛出 TypeError。
使用 buffer.allocUnsafe() 创建的缓冲区,分配的内存未初始化,其内容未知,即可能包含旧缓冲区的内容。也有可能包含敏感数据。出于安全考虑,最好使用 Buffer.alloc()。可以使用 Buffer.fill() 方法消除缓冲区中的旧数据。
语法
以下是 NodeJS Buffer.allocUnsafe() 方法 的语法:
Buffer.allocUnsafe(size)
参数
此方法接受一个参数。下面解释了该参数。
size - 此参数为整数值,表示要创建的缓冲区的长度。
返回值
Buffer.allocUnsafe() 方法将返回一个指定大小的新缓冲区。
示例
此示例将使用 NodeJS Buffer.allocUnsafe() 方法创建一个缓冲区:
const buf = Buffer.allocUnsafe(5); console.log(buf);
输出
缓冲区的大小为 5。执行上述程序将生成以下输出:
<Buffer ff ff ff ff 39>
示例
此示例将使用 Buffer.allocUnsafe() 方法创建一个缓冲区,并使用 Buffer.fill() 方法填充缓冲区的值。
const buf = Buffer.allocUnsafe(5); buf.fill('a') console.log(buf);
输出
缓冲区的大小为 5,我们已将缓冲区的内容填充为值:a。执行上述程序将生成以下输出:
<Buffer 61 61 61 61 61>
示例
在此示例中,我们将看到如果使用的大小不是数字,则会抛出错误。
const buf = Buffer.allocUnsafe('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.allocUnsafe (buffer.js:284: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
广告