DataView.prototype.setInt16()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

setInt16() 方法属于 DataView 实例,它接受一个数字,并将其作为 16 位有符号整数存储在该 DataView 指定的字节偏移量开始的 2 个字节中。没有对齐限制;多字节值可以存储在任何边界内的偏移量处。

试一试

// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(16);

const view = new DataView(buffer);
view.setInt16(1, 32767); // Max signed 16-bit integer

console.log(view.getInt16(1));
// Expected output: 32767

语法

js
setInt16(byteOffset, value)
setInt16(byteOffset, value, littleEndian)

参数

byteOffset

存储数据的从视图开始处的字节偏移量。

value

要设置的值。有关值如何编码为字节的信息,请参阅 值编码和规范化

littleEndian 可选

指示数据是存储在 小端 或大端格式中。如果为 falseundefined,则写入大端值。

返回值

undefined.

异常

RangeError

如果 byteOffset 设置为超出视图末尾存储,则会抛出此错误。

示例

使用 setInt16()

js
const buffer = new ArrayBuffer(10);
const dataview = new DataView(buffer);
dataview.setInt16(0, 3);
dataview.getInt16(1); // 768

规范

规范
ECMAScript® 2026 语言规范
# sec-dataview.prototype.setint16

浏览器兼容性

另见