JavaScript DataView getInt8() 方法



JavaScript DataView 的getInt8()方法讀取此 DataView 指定位元組偏移處的1位元組資料,並將其解碼為8位有符號整數。如果未為此方法指定byteOffset引數值,則始終返回0

如果byteOffset引數的值超出資料檢視的範圍,則此方法會丟擲'RangeError'異常。

語法

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

getInt8(byteOffset)

引數

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

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

返回值

此方法返回一個介於-128127(含)之間的有符號整數。

示例 1

以下示例演示了 JavaScript DataView getInt8() 方法的用法。

<html>
<body>
<script>
   const buffer = new ArrayBuffer(16);
   const data_view = new DataView(buffer);
   const value = 127;
   const byteOffset = 0;
   document.write("Value: ", value);
   document.write("<br>The byte offset: ", byteOffset);
   //storing the data
   data_view.setInt8(byteOffset, value);
   //using the getInt8() method
   document.write("<br>The stored value: ", data_view.getInt8(byteOffset));
</script>
</body>
</html>

輸出

上述程式返回儲存的資料值為:

Value: 127
The byte offset: 0
The stored value: 127

示例 2

如果我們向此方法傳遞 byteOffset 引數,它將返回0

以下是 JavaScript DataView getInt8() 方法的另一個示例。我們使用此方法讀取指定 byteOffset 1 處的 1 位元組資料值40。由於我們沒有為此方法傳遞 byteOffset 引數,因此它將返回0

<html>
<body>
<script>
   const buffer = new ArrayBuffer(8);
   const data_view = new DataView(buffer);
   const value = 40;
   const byteOffset = 1;
   document.write("Value: ", value);
   document.write("<br>The byte offset: ", byteOffset);
   //storing the data
   data_view.setInt8(byteOffset, value);
   //using the getInt8() method
   document.write("<br>The data_view.getInt8() returns: ", data_view.getInt8());
</script>
</body>
</html>

輸出

執行上述程式後,它將返回 0。

Value: 40
The byte offset: 1
The data_view.getInt8() returns: 0

示例 3

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

<html>
<body>
<script>
   const buffer = new ArrayBuffer(8);
   const data_view = new DataView(buffer);
   const value = 121;
   const byteOffset = 2;
   document.write("Value: ", value);
   document.write("<br>The byte offset: ", byteOffset);
   //storing the data
   data_view.setInt8(byteOffset, value);
   try {
      //using the getInt8() method
      document.write("<br>The data_view.getInt8() returns: ", data_view.getInt8(-1));
   } catch (error) {
      document.write("<br>", error);
   }
</script>
</body>
</html>

輸出

執行上述程式後,它將丟擲 'RangeError' 異常,如下所示:

Value: 121
The byte offset: 2
RangeError: Offset is outside the bounds of the DataView
廣告