与C和Java等其他语言不同,JavaScript数组不是强类型的,因此它可以存储任意类型的数据。
而类型数组则用于存储单一类型的数据。它的语法是let myArray = new TypedArray (length)
,其中TypedArray
需替换为下表所列之一。
类型数组
数据类型
Int8Array
8位二进制补码整数
Uint8Array
8位无符号整数
Uint8ClampedArray
8位无符号整数
Int16Array
16位二进制补码整数
Uint16Array
16位无符号整数
Int32Array
32位二进制补码整数
Uint32Array
32位无符号整数
Float32Array
32位IEEE浮点数
Float64Array
64位IEEE浮点数
代码示例如下:
let length = 5;let int16 = new Int16Array(length);let array16 = ;array16.length = length;for (let i=0; i<length; i++){ int16[i] = i+1;}console.log(int16);
使用WebGL API、进行位操作、处理文件和图像时,类型数组都可以大展拳脚。它用起来和普通数组也毫无二致,本章所学的数组方法和功能都可以用于类型数组。
http://goo.gl/kZBsGx是一个很好的教程,讲解了如何使用类型数组处理二进制数据,以及它在实际项目中的应用。