ArrayBuffer.prototype.resize()
ArrayBuffer
实例的 resize()
方法将 ArrayBuffer
调整为指定的大小,以字节为单位。
尝试一下
语法
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.resize(12);
}
规范
Specification |
---|
ECMAScript Language Specification # sec-arraybuffer.prototype.resize |
浏览器兼容性
BCD tables only load in the browser