ArrayBuffer
ArrayBuffer
数组缓冲区(array buffer)是内存中包含一定数量字节的区域,而所有的类型化数组都基于数组缓冲区。 使用 ArrayBuffer 构造器来创建一个数组缓冲区:
生成了一段 32 字节的内存区域,每个字节的值默认都是 0。
ArrayBuffer方法
ArrayBuffer.prototype.byteLength
返回所分配的内存区域的字节长度。
ArrayBuffer.prototype.slice()
允许将内存区域的一部分,拷贝生成一个新的ArrayBuffer
对象。
ArrayBuffer.isView()
静态方法,判断是否为ArrayBuffer
的视图实例。
DataView
为了读写这段内容,需要为它提供视图。DataView
视图的创建,需要提供ArrayBuffer
对象实例作为参数。
TypedArray
还有一种是统称TypedArray
的视图,包含如下构造函数:
数据类型
构造函数
字节长度
含义
对应的 C 语言类型
Int8
Int8Array
1
8 位带符号整数
signed char
Uint8
Uint8Array
1
8 位不带符号整数
unsigned char
Uint8C
Uint8ClampedArray
1
8 位不带符号整数(自动过滤溢出)
unsigned char
Int16
Int16Array
2
16 位带符号整数
short
Uint16
Uint16Array
2
16 位不带符号整数
unsigned short
Int32
Int32Array
4
32 位带符号整数
int
Uint32
Uint32Array
4
32 位不带符号的整数
unsigned int
Float32
Float32Array
4
32 位浮点数
float
Float64
Float64Array
8
64 位浮点数
double
构造函数方法
TypedArray(buffer, byteOffset=0, length?)
参数说明:
第一个参数(必需):视图对应的底层
ArrayBuffer
对象。第二个参数(可选):视图开始的字节序号,默认从 0 开始。
第三个参数(可选):视图包含的数据个数,默认直到本段内存区域结束。
TypedArray(length)
上图生成了8个成员(共64字节),并对部分成员赋值。
TypedArray(typedArray)
此方法只是复制参数数组的值,内存不一样。
使用x.buffer
会基于同一内存。
Last updated