类型数组

找出什么是类型数组以及如何使用它们

JavaScript Provides 8 类型数组类型:

  • Int8Array8位带符号整数的数组
  • Int16Array16位带符号整数的数组
  • Int32Array32位有符号整数的数组
  • Uint8Array8位无符号整数数组
  • Uint16Array16位无符号整数的数组
  • Uint32Array32位无符号整数的数组
  • Float32Array32位浮点数的数组
  • Float64Array64位浮点数的数组

他们都是ArrayBufferView实例。

类型化数组本质上是一个视图ArrayBuffer,其中每个项目的大小和类型均相同。

DataView是ArrayBuffer的另一个视图,但是在这种情况下,数组中的项目可以具有不同的大小和类型。

这是一个如何创建一个8位带符号整数数组的示例:

const a = new Int8Array()

您可以预分配n个字节:

const bytes = 1024
const a = new Int8Array(bytes)

主要用途是允许查看ArrayBuffer,它本身是不透明的(我们无法检查其内容)。

我们的操作方法如下:

//we got this `buffer` ArrayBuffer
const a = new Int8Array(buffer)

这些类型化的数组类似于数组,因此现在我们可以通过常用的数组访问技术检查缓冲区的内容,并且可以访问许多方法和属性,包括map()reduce()等等。

类型数组的主要用例是与WebGL网络音频或者画布API。一些WebGL函数期望使用类型化数组,因为它们比常规JavaScript数组具有更高的性能。

要记住的一件事是类型数组不允许我们控制字节序它使用平台的字节顺序。总的来说,这很好,因为我们所说的主要用例是使用多媒体API之一在本地使用数组。而且,由于英特尔使用该约定,因此大多数消费类计算机都使用低端字节序。但是,如果在使用大字节序的系统上传输类型数组的数据,则数据可能编码错误,因此无效。

如果您需要这种对字节序的控制,请使用资料检视反而。

免费下载我的JavaScript初学者手册


更多浏览器教程: