Uint32Array
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Uint32Array
表示一个由基于平台字节序的 32 位无符号字节组成的数组。如果需要对字节顺序进行控制 (译者注:即 littleEndian 或 bigEndian),请使用 DataView
代替。数组中每个元素的初始值都是0
。一旦创建,你可以用对象的方法引用数组里的元素,或者使用标准的数组索引语法(即,使用中括号)。
语法
new Uint32Array(); // new in ES2017 new Uint32Array(length); new Uint32Array(typedArray); new Uint32Array(object); new Uint32Array(buffer [, byteOffset [, length]]);
更多的构造器语法和属性请参照 TypedArray。
静态属性
Uint32Array.BYTES_PER_ELEMENT
-
返回一个数值,代表
Uint32Array
中单个元素的字节大小。Uint32Array
返回4
。 - Uint32Array.length
-
固定值 (static) 属性,值为 3。使用
Uint32Array.prototype.length
获得数组的真实长度(元素个数)。 Uint32Array.prototype
-
TypedArray 对象的原型链。
静态方法
Uint32Array.from()
-
从类似数组或者可迭代对象创建一个新的
Uint32Array
。请参考Array.from()
。 Uint32Array.of()
-
从可变长度的参数创建一个新的
Uint32Array
。请参考Array.of()
。
实例属性
还从其父接口 TypedArray
继承实例属性。
Uint32Array.prototype.constructor
-
返回创建实例原型的函数。默认返回
Uint32Array
的构造器。 Uint32Array.prototype.buffer
只读-
返回
Uint32Array
引用的ArrayBuffer
。由于构造时已固定,所以是只读的。 Uint32Array.prototype.byteLength
只读-
返回从其
ArrayBuffer
开始的Uint32Array
字节长度。由于构造时已固定,所以是只读的。 Uint32Array.prototype.byteOffset
只读-
返回从其
ArrayBuffer
的偏移开始的Uint32Array
字节长度。由于构造时已固定,所以是只读的。 Uint32Array.prototype.length
只读-
返回
Uint32Array
中元素的个数。由于构造时已固定,所以是只读的。
实例方法
从其父接口 TypedArray
继承实例方法。
示例
用不同的方法创建 Uint32Array
:
// 给定长度
var uint32 = new Uint32Array(2);
uint32[0] = 42;
console.log(uint32[0]); // 42
console.log(uint32.length); // 2
console.log(uint32.BYTES_PER_ELEMENT); // 4
// 给定数组
var arr = new Uint32Array([21, 31]);
console.log(arr[1]); // 31
// 给定 TypedArray
var x = new Uint32Array([21, 31]);
var y = new Uint32Array(x);
console.log(y[0]); // 21
// 给定 ArrayBuffer
var buffer = new ArrayBuffer(16);
var z = new Uint32Array(buffer, 0, 4);
// 给定可迭代对象
var iterable = (function* () {
yield* [1, 2, 3];
})();
var uint32 = new Uint32Array(iterable);
// Uint32Array[1, 2, 3]
规范
Specification |
---|
ECMAScript Language Specification # table-49 |
浏览器兼容性
BCD tables only load in the browser