JavaScript DataView setUint16() 方法



JavaScript DataView 的 setUint16() 方法用於將指定的數字儲存為從指定 位元組偏移量 開始的 2 個位元組中的 16 位(1 位元組 = 8 位)無符號整數。

如果 byteOffset 引數的值超出此資料檢視的範圍,或者您沒有將此引數傳遞給 setUint16() 方法,它將丟擲 'RangeError' 異常。

語法

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

setUint16(byteOffset, value, littleEndian)

引數

此方法接受三個名為 'byteOffset'、'value' 和 'littleEndian' 的引數,如下所述:

  • byteOffset - 資料檢視中將儲存位元組的位置。
  • value - 需要儲存的無符號 16 位整數。
  • littleEndian (可選) - 它指示資料是以小端序還是大端序格式儲存。

返回值

此方法返回 undefined

示例 1

以下程式演示了 JavaScript DataView setUnit16() 方法的使用。

<html>
<body>
<script>
   const buffer = new ArrayBuffer(16);
   const data_view = new DataView(buffer);
   const value = 255;
   const byteOffset = 1;
   document.write("The data value: ", value);
   document.write("<br>The byteOffset: ", byteOffset);
   //using the setUnit16() method
   data_view.setUint16(byteOffset, value);
   document.write("<br>The stored value: ", data_view.getUint16(1));
</script>
</body>
</html>

輸出

上述程式返回儲存的值為 225。

The data value: 255
The byteOffset: 1
The stored value: 255

示例 2

如果 byteOffset 引數的值超出 DataView 的範圍,則會丟擲 'RangeError' 異常。

<html>
<body>
<script>
   const buffer = new ArrayBuffer(16);
   const data_view = new DataView(buffer);
   const value = 30;
   const byteOffset = 17;
   document.write("The data value: ", value);
   document.write("<br>The byteOffset: ", byteOffset);
   //using the setUnit16() method
   try {
      data_view.setUint16(byteOffset, value);
      document.write("<br>The stored value: ", data_view.getUint16(1));
   }catch (error) {
      document.write("<br>", error);
   }
</script>
</body>
</html>

輸出

執行上述程式後,它將丟擲 'RangeError' 異常。

The data value: 30
The byteOffset: 17
RangeError: Offset is outside the bounds of the DataView

示例 3

如果您沒有將 byteOffset 引數傳遞給此方法,它將丟擲 'RangeError' 異常。

<html>
<body>
<script>
   const buffer = new ArrayBuffer(16);
   const data_view = new DataView(buffer);
   const value = 200;
   const byteOffset = 1;
   document.write("The data value: ", value);
   document.write("<br>The byteOffset: ", byteOffset);
   //using the setUnit16() method
   try {
      //not passing byteOffset parameter
      data_view.setUint16(value);
   }catch (error) {
      document.write("<br>", error);
   }
</script>
</body>
</html>

輸出

執行上述程式後,它將丟擲 'RangeError' 異常。

The data value: 200
The byteOffset: 1
RangeError: Offset is outside the bounds of the DataView
廣告