JavaScript DataView setUint8() 方法
JavaScript DataView setUint8() 方法将一个 8 位 无符号 整数(一个字节)存储在距离 DataView 起始位置指定字节偏移量的位置。
如果指定的 byteOffset 超出了 DataView 的边界,该方法将抛出 'RangeError' 异常。
语法
以下是 JavaScript DataView setUint8() 方法的语法 -
setUint8(byteOffset, value)
参数
此方法接受两个名为"byteOffset"和"value"的参数,如下所述 -
- byteOffset − 字节在 DataView 中的存储位置。
- value − 需要存储一个 8 位无符号整数值。
返回值
此方法返回undefined,因为它仅存储字节值。
示例 1
以下是 JavaScript DataView setUnit8() 方法的基本示例。
<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);
document.write("<br>Store value: ", data_view.getUint8());
</script>
</body>
</html>
输出
上述程序存储数字并将其显示为 -
Number value: 20 The byteOffset value: 0 Store value: 20
示例 2
以下是 JavaScript DataViewsetUint8()方法的另一个示例。我们使用此方法将无符号 8 位整数值 50 存储在指定的字节偏移位置 2。
<html>
<body>
<script>
//创建数组缓冲区
const buffer = new ArrayBuffer(8);
const data_view = new DataView(buffer);
const number = 50;
const byteOffset = 2;
document.write("Number value: ", number);
document.write("<br>The byteOffset value: ", byteOffset);
//使用 setUnit8() 方法
data_view.setUint8(byteOffset, number);
document.write("<br>Store value: ", data_view.getUint8(2));
</script>
</body>
</html>
输出
上述程序执行后,会存储数字 50 并将其显示为 -
Number value: 50 The byteOffset value: 2 Store value: 50
示例 3
如果 byteOffset 参数值超出数据视图的边界,则会抛出 'RangeError' 异常。
<html>
<body>
<script>
//创建数组缓冲区
const buffer = new ArrayBuffer(8);
const data_view = new DataView(buffer);
const number = 200;
const byteOffset = 9;
document.write("Number value: ", number);
document.write("<br>The byteOffset: ", byteOffset);
try {
//使用 setUnit8() 方法
data_view.setUint8(9, 200);
document.write(dv.getUint8(0));
} catch (error) {
document.write("<br>", error);
}
</script>
</body>
</html>
输出
执行上述程序后,抛出"RangeError"异常。
Number value: 200 The byteOffset: 9 RangeError: Offset is outside the bounds of the DataView

