JavaScript DataView getUint8() 方法



JavaScript DataView 的 getUint8() 方法用於檢索此 DataView 指定位元組偏移處的 1 位元組資料值,並將其解釋為 8 位無符號整數。如果在指定的 byteOffset 處找不到數字(值),它將返回數字值 0

如果 byteOffset 超出此 DataView 的範圍,則呼叫 getUint8(-1) 方法將丟擲 'RangeError 異常。

語法

以下是 JavaScript DataView getUint8() 方法的語法:

getUint8(byteOffset)

引數

此方法接受一個名為“byteOffset”的引數,如下所述:

  • byteOffset - 從 DataView 中讀取資料的起始位置。

返回值

此方法返回一個介於 0255(含)之間的整數。

示例 1

以下是 JavaScript DataView getUint8() 方法的基本示例。

<html>
<body>
<script>
   //creating array buffer
   const buffer = new ArrayBuffer(8);
   const data_view = new DataView(buffer);
   const number = 20;
   const byteOffset = 0;
   document.write("Number value: ", number);
   document.write("<br>The byteOffset value: ", byteOffset);
   //using the setUnit8() to store number
   data_view.setUint8(byteOffset, number);
   //using getUnit8() method to read the stored value
   document.write("<br>The data_view.getUint8(0) method returns: ", data_view.getUint8(0));
</script>
</body>
</html>

輸出

上述程式讀取 1 個位元組並返回 20:

Number value: 20
The byteOffset value: 0
The data_view.getUint8(0) method returns: 20

示例 2

如果在指定的 byteOffset 2 處找不到數字,則 getUint8() 方法將返回 0

<html>
<body>
<script>
   //creating array buffer
   const buffer = new ArrayBuffer(8);
   const data_view = new DataView(buffer);
   const number = 225;
   const byteOffset = 2;
   document.write("Number value: ", number);
   document.write("<br>The byteOffset value: ", byteOffset);
   //using the setUnit8() to store number
   data_view.setUint8(byteOffset, number);
   //using getUnit8() method to read the stored value
   document.write("<br>The data_view.getUint8(1) method returns: ", data_view.getUint8(1));
</script>
</body>
</html>

輸出

執行上述程式後,它將返回資料值為 0。

Number value: 225
The byteOffset value: 2
The data_view.getUint8(1) method returns: 0

示例 3

如果 byteOffset 引數值超出資料檢視的範圍,它將丟擲 'RangeError' 異常。

<html>
<body>
<script>
   //creating array buffer
   const buffer = new ArrayBuffer(8);
   const data_view = new DataView(buffer);
   const number = 10;
   const byteOffset = 0;
   document.write("Number value: ", number);
   document.write("<br>The byteOffset value: ", byteOffset);
   //using the setUnit8() to store number
   data_view.setUint8(byteOffset, number);
   //using getUnit8() method to read the stored value
   try {
      document.write(data_view.getUint8(-1));
   } catch (error) {
      document.write("<br>", error);
   }
</script>
</body>
</html>

輸出

上面提到的程式在執行後會丟擲“RangeError”異常。

Number value: 10
The byteOffset value: 0
RangeError: Offset is outside the bounds of the DataView
廣告