JavaScript DataView getUint8() 方法
JavaScript DataView getUint8() 方法用于检索此 DataView 指定字节偏移量的 1 字节数据值,并将其解释为 8 位无符号整数。如果在指定的 byteOffset 处未找到数字(值),则返回 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>
//创建数组缓冲区
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);
//使用 setUnit8() 来存储数字
data_view.setUint8(byteOffset, number);
//使用 getUnit8() 方法读取存储的值
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
如果在指定的字节偏移量 2 处未找到数字,则 getUint8() 方法将返回 0。
<html>
<body>
<script>
//创建数组缓冲区
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);
//使用 setUnit8() 来存储数字
data_view.setUint8(byteOffset, number);
//使用 getUnit8() 方法读取存储的值
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>
//创建数组缓冲区
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);
//使用 setUnit8() 来存储数字
data_view.setUint8(byteOffset, number);
//使用 getUnit8() 方法读取存储的值
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

