ArrayBuffer
ArrayBuffer
对象用来表示通用的、固定长度的原始二进制数据缓冲区。
它是一个字节数组,通常在其他语言中称为“byte array”。你不能直接操作 ArrayBuffer
中的内容;而是要通过类型化数组对象或 DataView
对象来操作,它们会将缓冲区中的数据表示为特定的格式,并通过这些格式来读写缓冲区的内容。
ArrayBuffer()
(en-US) 构造函数创建一个以字节为单位的给定长度的新 ArrayBuffer
。你也可以从现有的数据(例如,从 Base64 字符串或者从本地文件)获取数组缓冲区。
ArrayBuffer
是一个可转移对象。
构造函数
ArrayBuffer()
(en-US)-
创建一个新的
ArrayBuffer
对象。
静态属性
get ArrayBuffer[@@species]
-
用于创建派生对象的构造函数。
静态方法
ArrayBuffer.isView()
-
如果
arg
是 ArrayBuffer 视图之一,则返回true
,例如类型化数组对象或者DataView
。否则返回false
。
实例属性
ArrayBuffer.prototype[@@toStringTag]
-
@@toStringTag
属性的初始值是"ArrayBuffer"
字符串。该属性在Object.prototype.toString()
中被使用。 ArrayBuffer.prototype.byteLength
-
ArrayBuffer
的只读大小(以字节为单位)。这是在数组构建时确定的,无法更改。
实例方法
ArrayBuffer.prototype.slice()
-
返回一个新的
ArrayBuffer
,它的内容是该ArrayBuffer
从begin
(包括)到end
(不包括)字节的拷贝。如果begin
或end
是负数,它则指的是从数组末尾开始的索引,而不是从头开始的索引。
示例
创建 ArrayBuffer
下面的例子创建了一个 8 字节的缓冲区,并使用 Int32Array
视图引用它。
js
const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);
规范
Specification |
---|
ECMAScript Language Specification # sec-arraybuffer-objects |
浏览器兼容性
BCD tables only load in the browser