Errors: Typed array invalid arguments
Errors: Typed array invalid arguments
信息
TypeError: invalid arguments (Firefox)
错误类型
TypeError
哪里出错了?
类型数组构造函数需要
- 长度,
- 另一种类型的数组,
- 类似数组的对象,
- 可迭代的对象或
- 一个
ArrayBuffer
对象
创建一个新的类型数组。其他的构造函数参数不会创建一个有效的类型数组。
示例
类型数组,例如a Uint8Array
,不能用字符串构造。实际上,字符串根本不可能在类型数组中。
var ta = new Uint8Array("nope"
// TypeError: invalid arguments
不同的方式来创建一个有效的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]