JavaScript DataView getUint8() 方法用于检索此 DataView 的指定字节偏移量处的 1 字节数据值,并将其解释为 8 位无符号整数。如果在指定的 byteOffset 处找不到数字 (value),它将返回数字值 0。
如果 byteOffset 超出此 DataView 的边界,则调用 getUint8(-1) 方法将引发 'RangeError 异常。
语法
以下是 JavaScript DataView getUint8() 方法的语法 -
getUint8(byteOffset)
参数
此方法接受一个名为 'byteOffset' 的参数,如下所述 -
- byteOffset - DataView 中要从中读取数据的位置。
返回值
此方法返回一个从 0 到 255(包括 0 到 255)的整数。
示例 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
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
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
The byteOffset value: 0
RangeError: Offset is outside the bounds of the DataView