JavaScript - DataView



DataView 是 JavaScript 中的一個物件,允許您處理儲存在 ArrayBuffer 中的二進位制資料。它提供了一個低階介面,用於在二進位制 ArrayBuffer 中讀取和寫入數字型別。

DataView 物件提供內建方法,用於從緩衝區讀取和寫入 1、2 和 4 位元組的有符號和無符號整數,以及 4 和 8 位元組的浮點數。

ArrayBuffer 是一個位元組陣列,在其他語言中通常稱為“位元組陣列”。您不能像操作普通陣列一樣直接操作 ArrayBuffer 的資料。使用 ArrayBuffer,您可以建立 DataView 物件,該物件以特定格式表示緩衝區。您可以使用 DataView 物件讀取和寫入緩衝區的內容。

語法

以下是 JavaScript 中建立 DataView 物件的語法:

new DataView(buffer, byteOffset, byteLength)

這裡,buffer 是一個現有的用於儲存的 ArrayBuffer。byteOffset 引數(可選)表示緩衝區中第一個位元組的偏移量(以位元組為單位),byteLength 引數(也可選)表示位元組陣列中的元素數量。

示例:建立 DataView 物件

以下示例演示瞭如何在 JavaScript 中建立 DataView 物件。

<html>
<body>
<script>
   const buffer = new ArrayBuffer(16);
   //creating dataview object
   const data_view = new DataView(buffer);
   document.write("The type of data_view is: " + typeof(data_view));
</script>
</body>
</html>

輸出

上述程式顯示 data_view 的型別為:

The type of data_view is: object

JavaScript DataView 屬性

以下是 DataView 物件屬性的列表:

  • buffer - 返回 ArrayBuffer 或 SharedArrayBuffer。
  • byteLength - 返回此檢視的長度(以位元組為單位)。
  • byteOffset - 返回此檢視與其 ArrayBuffer 或 SharedArrayBuffer 起始位置的偏移量(以位元組為單位)。

JavaScript DataView 方法

以下是 JavaScript DataView 物件的方法:

序號 方法及描述
1

getBigInt64()

它返回一個 BigInt,範圍為 -263 到 263-1(包含)。

2

getBigUint64()

它返回一個 BigInt,範圍為 0 到 264-1(包含)。

3

getFloat32()

它返回一個浮點數,範圍為 -3.4e38 到 3.4e38。

4

getFloat64()

它返回任何數值。

5

getInt16()

它返回一個整數,範圍為 -32768 到 32767(包含)。

6

getInt32()

它返回一個整數,範圍為 -2147483648 到 2147483647(包含)。

7

getInt8()

它返回一個整數,範圍為 -128 到 127(包含)。

8

getUint16()

它返回一個介於 0 到 65535(包含)之間的整數。

9

getUint32()

它返回一個介於 0 到 4294967295(包含)之間的整數。

10

getUint8()

它返回一個介於 0 到 255(包含)之間的整數。

11

setBigInt64()

它返回 undefined。

12

setBigUint64()

它返回 undefined。

13

setFloat32()

它返回 undefined。

14

setFloat64()

它返回 undefined。

15

setInt16()

它返回 undefined。

16

setInt32()

它返回 undefined。

17

setInt8()

它返回 undefined。

18

setUint16()

它返回 undefined。

19

setUint32()

它返回 undefined。

20

setUint8()

它返回 undefined。

廣告