这篇翻译不完整。请帮忙从英语翻译这篇文章。
概述
ArrayBuffer
(缓冲数组)是一种用于呈现通用、固定长度的二进制数据的类型。不能直接构造并填充 ArrayBuffer 的内容,而应该先创建一个
ArrayBufferView
对象,该对象用具体的格式来呈现 ArrayBuffer 的内容,你可以使用此对象来读写 ArrayBuffer 的内容。
方法概要
ArrayBuffer ArrayBuffer(unsigned long length); |
属性
属性 | 类型 | 描述 |
byteLength |
unsigned long |
此数组的大小(以 bytes 作为单位)当数组被创建时,此属性的值就确定了。只读。 |
方法
ArrayBuffer()
构造方法接收一个数字参数,作为新数组的长度,返回新创建的 ArrayBuffer
对象。
ArrayBuffer ArrayBuffer( unsigned long length );
参数
- length
- 要创建的数组的大小。
返回值
新创建的 ArrayBuffer 对象,该对象具有 length 的大小,所有位置均被初始化为 0。
slice()
返回一个新的 ArrayBuffer 对象,它的内容是从当前 ArrayBuffer 的 begin
到 end
位置的备份。负数的 begin
或 end
值指示从数组末端计数的索引。
注意:Internet Explorer 10以及 iOS 6 以下版本中 不支持此方法。
ArrayBuffer slice( unsigned long begin unsigned long end Optional );
参数
- begin
- 复制 Byte 开始的索引。
- end
- 复制 Byte 结束的索引。如果未指定,返回的 ArrayBuffer 包含从 begin 到此 ArrayBuffer 结尾的所有字节。
返回值
新的 ArrayBuffer
对象。
示例
在下面的示例中,我们创建了一个 32 字节的缓冲数组:
var buf = new ArrayBuffer(32);
从已有的数据中获取缓冲数组
从 Base64 字符串中
请参阅 此段落。
从本地文件
请参阅 此段落。
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 7 | 4.0 (2) | 10 | 11.6 | 5.1 |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | 4.0 | 4.0 (2) | 10 | 11.6 | 4.2 |
兼容性提醒
从ECMAScript 2015开始,ArrayBuffer
需要用new
运算符创建。如果没有`new`运算符,会抛出一个TypeError
。
var dv = ArrayBuffer(10); // TypeError: calling a builtin ArrayBuffer constructor // without new is forbidden
var dv = new ArrayBuffer(10);