JavaScript DataView setInt8() 方法
JavaScript DataViewsetInt8()方法用于将一个8位有符号整数值存储在此DataView指定byteOffset起始位置的字节(1字节=8位)中。
如果byteOffset参数值超出此DataView的边界,则此方法将抛出'RangeError'。
语法
以下是JavaScript DataView setInt8()方法的语法 -
setInt8(byteOffset, value)
参数
此方法接受两个名为"byteOffset"和"value"的参数,如下所述 -
- byteOffset − DataView 中字节的存储位置。
- value − 需要存储的有符号 8 位整数。
返回值
此方法返回 'undefined'。
示例 1
以下程序演示了 JavaScript DataView setInt8() 方法的用法。
<html>
<body>
<script>
const buffer = new ArrayBuffer(8);
const data_view = new DataView(buffer);
const byteOffset = 1;
const value = 45;
document.write("The byteOffset: ", byteOffset);
document.write("<br>The data value:", value);
//使用 setInt8() 方法
document.write("<br>The setInt8() method returns: ", data_view.setInt8(byteOffset, value));
</script>
</body>
</html>
输出
上述程序返回"undefined" -
The byteOffset: 1 The data value:45 The setInt8() method returns: undefined
示例 2
在下面的示例中,我们使用 setInt8() 方法将 8 位有符号整数 43234 存储在此 DataView 中指定 byteOffset0 处的字节中。
<html>
<body>
<script>
const buffer = new ArrayBuffer(8);
const data_view = new DataView(buffer);
const byteOffset = 1;
const value = 20;
document.write("The byteOffset: ", byteOffset);
document.write("<br>The data value:", value);
//使用 setInt8() 方法
document.write("<br>The setInt8() method returns: ", data_view.setInt8(byteOffset, value));
document.write("<br>The stored value:", data_view.getInt8(byteOffset));
</script>
</body>
</html>
输出
上述程序执行后,将把给定值 20 存储在此 DataView 的字节中 -
The byteOffset: 1 The data value:20 The setInt8() method returns: undefined The stored value:20
示例 3
如果 byteOffset 参数的值超出此 DataView 的边界,则会抛出'RangeError'异常。
<html>
<body>
<script>
const buffer = new ArrayBuffer(8);
const data_view = new DataView(buffer);
const byteOffset = -1;
const value = 10;
document.write("The byteOffset: ", byteOffset);
document.write("<br>The data value:", value);
try {
//使用 setInt8() 方法
data_view.setInt8(byteOffset, value);
} catch (error) {
document.write("<br>", error);
}
</script>
</body>
</html>
输出
执行上述程序后,将抛出"RangeError"异常。
The byteOffset: -1 The data value:10 RangeError: Offset is outside the bounds of the DataView

