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
广告