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