ArrayBuffe
ArrayBuffer对象用来表示通用的、固定长度的原始二进制数据缓冲区。ArrayBuffer不能直接操作,而是要通过DataView对象来操作,它们会将缓冲区中的数据表示为特定的格式,并通过这些格式来读写缓冲区的内容。
语法
new ArrayBuffer(length)
参数
length- 要创建的
ArrayBuffer的大小,单位为字节。
返回值
一个指定大小的ArrayBuffer对象,其内容被初始化为 0。
异常
如果 length 大于RangeError异常。
描述
ArrayBuffer构造函数用来创建一个指定字节长度的ArrayBuffer对象。
以现有数据获取 ArrayBuffer
- 从 Base64 字符串
- 从本地文件
属性
ArrayBuffer.length- ArrayBuffer 构造函数的 length 属性,其值为1。
get ArrayBuffer[@@species]- 返回 ArrayBuffer 的构造函数。
ArrayBuffer.prototype- 通过 ArrayBuffer 的原型对象可以为所有 ArrayBuffer 对象添加属性。
方法
ArrayBuffer.isView(arg)- 如果参数是 ArrayBuffer 的视图实例则返回
true,例如类型数组对象或DataView对象;否则返回false。 ArrayBuffer.transfer(oldBuffer[, newByteLength])返回一个新的 ArrayBuffer 对象,其内容取自
oldBuffer中的数据,并且根据newByteLength的大小对数据进行截取或补 0。ArrayBuffer.slice()- 和
ArrayBuffer.prototype.slice()功能相同。
ArrayBuffer 实例
所有ArrayBuffer实例都会从ArrayBuffer.prototype继承属性和方法。
属性
- ArrayBuffer.prototype.constructor
- 指定函数,它创建一个对象的原型。其初始值是标准ArrayBuffer内置构造函数。
ArrayBuffer.prototype.byteLength只读- 数组的字节大小。在数组创建时确定,并且不可变更。只读。
方法
ArrayBuffer.prototype.slice()- 返回一个新的
ArrayBuffer,它的内容是这个ArrayBuffer的字节副本,从begin(包括),到end(不包括)。如果begin或end是负数,则指的是从数组末尾开始的索引,而不是从头开始。
示例
下面的例子创建了一个 8 字节的缓冲区,并使用一个Int32Array来引用它:
var buffer = new ArrayBuffer(8); var view = new Int32Array(buffer);
