Uint8Array
Uint8Array
该Uint8Array
类型数组表示的8位无符号整数数组。内容被初始化为0
。一旦建立,您可以使用对象的方法或使用标准数组索引语法(即使用括号表示法)引用数组中的元素。
语法
new Uint8Array( // new in ES2017
new Uint8Array(length
new Uint8Array(typedArray
new Uint8Array(object
new Uint8Array(buffer [, byteOffset [, length]]
有关构造函数语法和参数的更多信息,请参阅TypedArray
。
属性
Uint8Array.BYTES_PER_ELEMENT
返回元素大小的数字值。在Uint8Array
.Uint8Array
.lengthStatic长度属性的情况下,其值为0.对于实际长度(元素数量),请参阅Uint8Array.prototype.length
。
方法
Uint8Array.from()Uint8Array
从类似数组或类的对象中创建一个新的对象。另见Array.from()
。用可变数量的参数Uint8Array.of()
创建一个新Uint8Array
的。另见Array.of()
。
Uint8Array prototype
所有Uint8Array
对象都从中继承%TypedArray%.prototype
。
属性
Uint8Array.prototype.constructor
返回创建实例原型的函数。这是Uint8Array
默认的构造函数。
方法
Uint8Array.prototype.copyWithin()
复制数组中的一系列数组元素。另见Array.prototype.copyWithin()
。
示例
不同的方式来创建一个Uint8Array
:
// From a length
var uint8 = new Uint8Array(2
uint8[0] = 42;
console.log(uint8[0] // 42
console.log(uint8.length // 2
console.log(uint8.BYTES_PER_ELEMENT // 1
// From an array
var arr = new Uint8Array([21,31]
console.log(arr[1] // 31
// From another TypedArray
var x = new Uint8Array([21, 31]
var y = new Uint8Array(x
console.log(y[0] // 21
// From an ArrayBuffer
var buffer = new ArrayBuffer(8
var z = new Uint8Array(buffer, 1, 4
// From an iterable
var iterable = function*(){ yield* [1,2,3]; }(
var uint8 = new Uint8Array(iterable
// Uint8Array[1, 2, 3]
规范
Specification | Status | Comment |
---|---|---|
Typed Array Specification | Obsolete | Superseded by ECMAScript 6. |
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'TypedArray constructors' in that specification. | Standard | Initial definition in an ECMA standard. Specified that new is required. |
ECMAScript Latest Draft (ECMA-262)The definition of 'TypedArray constructors' in that specification. | Draft | ECMAScript 2017 changed the Uint8Array constructor to use the ToIndex operation and allows constructors with no arguments. |
浏览器兼容性
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 7.0 | (Yes) | 4.0 (2) | 10 | 11.6 | 5.1 |
new is required | ? | ? | 44 (44) | ? | ? | ? |
Iterable in constructor | ? | ? | 52 (52) | ? | ? | ? |
Constructor without arguments | ? | ? | 55 (55) | ? | ? | ? |
Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | 4.0 | (Yes) | (Yes) | 4.0 (2) | 10 | 11.6 | 4.2 |
new is required | ? | ? | ? | 44.0 (44) | ? | ? | ? |
Iterable in constructor | ? | ? | ? | 52.0 (52) | ? | ? | ? |
Constructor without arguments | ? | ? | ? | 55.0 (55) | ? | ? | ? |