Uint8Array()
constructor creates a typed array of 8-bit unsigned integers. The contents are initialized to
0
. Once established, you can reference elements in the array using the object's methods, or using standard array index syntax (that is, using bracket notation).
new Uint8Array(); // new in ES2017 new Uint8Array(length); new Uint8Array(typedArray); new Uint8Array(object); new Uint8Array(buffer [, byteOffset [, length]]);
length
length
argument, an internal array buffer is created in memory, of size
length
multiplied by
BYTES_PER_ELEMENT
bytes, containing zeros.
typedArray
typedArray
argument, which can be an object of any of the typed array types (such as
Int32Array
), the
typedArray
gets copied into a new typed array. Each value in
typedArray
is converted to the corresponding type of the constructor before being copied into the new array. The length of the new typed array will be same as the length of the
typedArray
自变量。
object
object
argument, a new typed array is created as if by the
TypedArray
.from()
方法。
buffer
,
byteOffset
,
length
buffer
, and optionally a
byteOffset
和
length
argument, a new typed array view is created that views the specified
ArrayBuffer
。
byteOffset
and
length
parameters specify the memory range that will be exposed by the typed array view. If both are omitted, all of
buffer
is viewed; if only
length
is omitted, the remainder of
buffer
is viewed.
// 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]
| 规范 |
|---|
|
ECMAScript (ECMA-262)
The definition of 'TypedArray constructors' in that specification. |
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Uint8Array()
构造函数
|
Chrome 7 | Edge 12 | Firefox 4 | IE 10 | Opera 11.6 | Safari 5.1 | WebView Android 4 | Chrome Android 18 | Firefox Android 4 | Opera Android 12 | Safari iOS 4.2 | Samsung Internet Android 1.0 | nodejs 0.10 |
| Constructor without arguments | Chrome 7 | Edge 12 | Firefox 55 | IE 10 | Opera 11.6 | Safari 5.1 | WebView Android ≤37 | Chrome Android 18 | Firefox Android 55 | Opera Android 12 | Safari iOS 5 | Samsung Internet Android 1.0 | nodejs 0.10 |
new Uint8Array(iterable)
|
Chrome 39 | Edge 14 | Firefox 52 | IE No | Opera 26 | Safari 10 | WebView Android 39 | Chrome Android 39 | Firefox Android 52 | Opera Android 26 | Safari iOS 10 | Samsung Internet Android 4.0 | nodejs 4.0.0 |
Uint8Array()
without
new
throws
|
Chrome 7 | Edge 14 | Firefox 44 | IE No | Opera 15 | Safari 5.1 | WebView Android ≤37 | Chrome Android 18 | Firefox Android 44 | Opera Android 14 | Safari iOS 5 | Samsung Internet Android 1.0 | nodejs 0.12 |
完整支持
不支持
Starting with ECMAScript 2015,
Uint8Array
constructors require to be constructed with a
new
operator. Calling a
Uint8Array
constructor as a function without
new
, will throw a
TypeError
from now on.
var dv = Uint8Array([1, 2, 3]); // TypeError: calling a builtin Uint8Array constructor // without new is forbidden
var dv = new Uint8Array([1, 2, 3]);
TypedArray
TypedArray.from()
TypedArray.of()
TypedArray.prototype.copyWithin()
TypedArray.prototype.entries()
TypedArray.prototype.every()
TypedArray.prototype.fill()
TypedArray.prototype.filter()
TypedArray.prototype.find()
TypedArray.prototype.findIndex()
TypedArray.prototype.forEach()
TypedArray.prototype.includes()
TypedArray.prototype.indexOf()
TypedArray.prototype.join()
TypedArray.prototype.keys()
TypedArray.prototype.lastIndexOf()
TypedArray.prototype.map()
TypedArray.prototype.reduce()
TypedArray.prototype.reduceRight()
TypedArray.prototype.reverse()
TypedArray.prototype.set()
TypedArray.prototype.slice()
TypedArray.prototype.some()
TypedArray.prototype.sort()
TypedArray.prototype.subarray()
TypedArray.prototype.toLocaleString()
TypedArray.prototype.toString()
TypedArray.prototype.values()
TypedArray.prototype[@@iterator]()
Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
BigInt64Array
BigUint64Array
Function
Object
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
Object.prototype.__lookupGetter__()
Object.prototype.__lookupSetter__()
Object.prototype.hasOwnProperty()
Object.prototype.isPrototypeOf()
Object.prototype.propertyIsEnumerable()
Object.prototype.toLocaleString()
Object.prototype.toSource()
Object.prototype.toString()
Object.prototype.valueOf()
Object.setPrototypeOf()