此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Uint16Array

基线 广泛可用

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

Uint16Array 类型化数组表示 16 位无符号整数,按平台字节顺序排列。如果需要控制字节顺序,请使用 DataView 代替。内容被初始化为 0。建立后,就可以使用对象的方法或使用标准数组索引语法(即使用括号表示法)引用数组中的元素。

构造函数

Uint16Array()

创建一个新的 Uint16Array 对象。

静态属性

Uint16Array.BYTES_PER_ELEMENT

返回元素大小的数值。在 Uint16Array 情况下为 2。

静态方法

Uint16Array.from()

从类数组或可迭代对象创建一个新的 Uint16Array。可参阅 Array.from()。

Uint16Array.of()

创建一个新的具有可变参数数目的 Uint16Array。可参阅 Array.of()。

实例属性

还从其父接口 TypedArray 继承实例属性。

Uint16Array.prototype.buffer

返回 Uint16Array 在构造时固定引用的 ArrayBuffer。因此是只读的。

Uint16Array.prototype.byteLength

返回 Uint16Array 从 ArrayBuffer 开始的长度(以字节为单位)。在构建时固定,因此是只读的。

Uint16Array.prototype.byteOffset

返回 Uint16Array 从 ArrayBuffer 开始的偏移量(以字节为单位)。在构建时固定,因此是只读的。

Uint16Array.prototype.length

返回 Uint16Array 中包含的元素数量。在构建时固定,因此是只读的。

实例方法

从其父接口 TypedArray 继承实例方法。

示例

创建 Uint16Array 的不同方法

js
// 长度
var uint16 = new Uint16Array(2);
uint16[0] = 42;
console.log(uint16[0]); // 42
console.log(uint16.length); // 2
console.log(uint16.BYTES_PER_ELEMENT); // 2

// 数组
var arr = new Uint16Array([21, 31]);
console.log(arr[1]); // 31

// 另一个类型数组
var x = new Uint16Array([21, 31]);
var y = new Uint16Array(x);
console.log(y[0]); // 21

// 一个 ArrayBuffer
var buffer = new ArrayBuffer(8);
var z = new Uint16Array(buffer, 0, 4);

// 可迭代
var iterable = (function* () {
  yield* [1, 2, 3];
})();
var uint16 = new Uint16Array(iterable);
// Uint16Array[1, 2, 3]

规范

规范
ECMAScript® 2027 Language Specification
# sec-typedarray-objects

浏览器兼容性

参见