類型數組

找出什麼是類型數組以及如何使用它們

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初學者手冊


更多瀏覽器教程: