JavaScript DataView setUint8() 方法



JavaScript DataView 的 setUint8() 方法在 DataView 的起始位置加上指定的位元組偏移量處儲存一個 8 位 無符號 整數(一個位元組)。

如果指定的 byteOffset 超出 DataView 的範圍,則該方法會丟擲 'RangeError' 異常。

語法

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

setUint8(byteOffset, value)

引數

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

  • byteOffset - 它是 DataView 中將儲存位元組的位置。
  • value - 需要儲存的 8 位無符號整數。

返回值

此方法返回 undefined,因為它只儲存位元組值。

示例 1

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

<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() method
   data_view.setUint8(byteOffset, number);
   document.write("<br>Store value: ", data_view.getUint8());
</script>
</body>
</html>

輸出

以上程式儲存數字並將其顯示為:

Number value: 20
The byteOffset value: 0
Store value: 20

示例 2

以下是 JavaScript DataView setUint8() 方法的另一個示例。我們使用此方法在指定的位元組偏移量位置 2 處儲存無符號 8 位整數 50

<html>
<body>
<script>
   //creating array buffer
   const buffer = new ArrayBuffer(8);
   const data_view = new DataView(buffer);
   const number = 50;
   const byteOffset = 2;
   document.write("Number value: ", number);
   document.write("<br>The byteOffset value: ", byteOffset);
   //using the setUnit8() method
   data_view.setUint8(byteOffset, number);
   document.write("<br>Store value: ", data_view.getUint8(2));
</script>
</body>
</html>

輸出

執行上述程式後,它將儲存數字 50 並將其顯示為:

Number value: 50
The byteOffset value: 2
Store value: 50

示例 3

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

<html>
<body>
<script>
   //creating an array buffer
   const buffer = new ArrayBuffer(8);
   const data_view = new DataView(buffer);
   const number = 200;
   const byteOffset = 9;
   document.write("Number value: ", number);
   document.write("<br>The byteOffset: ", byteOffset);
   try {
      //using the setUnit8() method
      data_view.setUint8(9, 200);
      document.write(dv.getUint8(0));
   } catch (error) {
      document.write("<br>", error);
   }
</script>
</body>
</html>

輸出

執行上述程式後,它會丟擲“RangeError”異常。

Number value: 200
The byteOffset: 9
RangeError: Offset is outside the bounds of the DataView
廣告