ArrayBuffer.prototype.resize()
ArrayBuffer 实例的 resize() 方法会将 ArrayBuffer 的大小调整为指定的字节数。
试一试
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
console.log(buffer.byteLength);
// Expected output: 8
buffer.resize(12);
console.log(buffer.byteLength);
// Expected output: 12
语法
js
resize(newLength)
参数
newLength-
将
ArrayBuffer调整到的新长度(以字节为单位)。
返回值
无(undefined)。
异常
TypeError-
如果
ArrayBuffer已分离或不可调整大小,则抛出此错误。 RangeError-
如果
newLength大于ArrayBuffer的maxByteLength,则抛出此错误。
描述
resize() 方法会将 ArrayBuffer 的大小调整为 newLength 参数指定的大小,前提是该 ArrayBuffer 是 可调整大小的,并且新大小小于或等于 ArrayBuffer 的 maxByteLength。新增的字节将初始化为 0。
请注意,您可以使用 resize() 来缩小或增大 ArrayBuffer — 允许 newLength 小于 ArrayBuffer 当前的 byteLength。
示例
使用 resize()
在此示例中,我们创建一个 8 字节的可调整大小的缓冲区,其最大长度为 16 字节,然后检查其 resizable 属性,如果 resizable 返回 true,则调整其大小。
js
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
if (buffer.resizable) {
console.log("Buffer is resizable!");
buffer.resize(12);
}
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-arraybuffer.prototype.resize |
浏览器兼容性
加载中…