JavaScript DataView setUint8() 方法在距 DataView 开头的指定字节偏移量处存储一个 8 位无符号整数(一个字节)。
如果指定的 byteOffset 超出 DataView 的边界,该方法将引发 'RangeError' 异常。
语法
以下是 JavaScript DataView setUint8() 方法的语法 -
setUint8(byteOffset, value)
参数
此方法接受两个名为 'byteOffset' 和 'value' 的参数,如下所述 -
- byteOffset - 它是 DataView 中将存储字节的位置。
- value − 需要存储 8 位无符号整数值。
返回值
此方法返回 undefined,因为它只存储 byte 值。
示例 1
以下是 JavaScript DataView setUnit8() 方法的基本示例。
<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() method
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
The byteOffset value: 0
Store value: 20
示例 2
以下是 JavaScript DataView setUint8() 方法的另一个示例。我们使用此方法将无符号 8 位整数值 50 存储在指定的字节偏移位置 2 处。
<html>
<body>
<script>
//creating array buffer
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);
//using the setUnit8() method
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
The byteOffset value: 2
Store value: 50
示例 3
如果 byteOffset 参数值超出数据视图的边界,它将引发 'RangeError' 异常。
<html>
<body>
<script>
//creating an array buffer
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 {
//using the setUnit8() method
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
The byteOffset: 9
RangeError: Offset is outside the bounds of the DataView