ArrayBuffer() 构造函数
ArrayBuffer()
构造函数创建 ArrayBuffer
对象。
尝试一下
语法
参数
length
-
要创建的数组缓冲区的大小(以字节为单位)。
options
可选-
一个对象,可以包含以下属性:
maxByteLength
可选-
数组缓冲区可以调整到的最大大小,以字节为单位。
返回值
一个指定大小的新 ArrayBuffer
对象,其 maxByteLength
属性设置为指定的 maxByteLength
(如果指定了该值),其内容被初始化为 0。
异常
RangeError
-
有下列情况之一时抛出:
length
或maxByteLength
大于Number.MAX_SAFE_INTEGER
(≥ 253)或者为负数。length
大于maxByteLength
。
示例
创建一个 ArrayBuffer
在这个示例中,我们创建一个 8 字节的缓冲区,并使用一个 Int32Array
视图来引用该缓冲区:
js
const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);
创建一个可以调整大小的 ArrayBuffer
在这个示例中,我们创建一个 8 字节的缓冲区,它可以调整到的最大长度为 16 字节,然后使用 resize()
调整到 12 字节:
js
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
buffer.resize(12);
备注:推荐将 maxByteLength
设置为使用场景下最小的大小。它不应超过 1073741824
(1GB),以减少内存溢出风险。
规范
Specification |
---|
ECMAScript Language Specification # sec-arraybuffer-constructor |
浏览器兼容性
BCD tables only load in the browser