此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
ArrayBuffer.prototype.resize()
Baseline 2024Newly available
Since July 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
ArrayBuffer 实例的resize() 方法将ArrayBuffer 调整为指定的大小,以字节为单位。
In this article
尝试一下
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });console.log(buffer.byteLength);// Expected output: 8buffer.resize(12);console.log(buffer.byteLength);// Expected output: 12语法
js
resize(newLength)参数
newLengthArrayBuffer要调整到的新的长度,以字节为单位。
返回值
无(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.resize(12);}规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-arraybuffer.prototype.resize> |