Uint8ClampedArray
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.
Uint8ClampedArray
(8 位无符号整型固定数组)类型化数组表示一个由值固定在 0-255 区间的 8 位无符号整型组成的数组;如果你指定一个在 [0,255] 区间外的值,它将被替换为 0 或 255;如果你指定一个非整数,那么它将被设置为最接近它的整数。(数组)内容被初始化为 0。一旦(数组)被创建,你可以使用对象的方法引用数组里的元素,或使用标准的数组索引语法(即使用方括号标记)。
语法
new Uint8ClampedArray(length); new Uint8ClampedArray(typedArray); new Uint8ClampedArray(object); new Uint8ClampedArray(buffer [, byteOffset [, length]]);
关于构造函数语法和参数的更多信息,参见 TypedArray。
静态属性
Uint8ClampedArray.BYTES_PER_ELEMENT
返回元素大小的一个数值。对
Uint8ClampedArray
而言是 1。Uint8ClampedArray.prototype.length
静态长度属性值为 0。对于实际长度(元素的数量),见
Uint8ClampedArray.prototype.length
。Uint8ClampedArray.prototype
原型是 TypedArray(类型化数组)对象。
静态方法
Uint8ClampedArray.from()
从一个类数组或可枚举对象创建一个新的
Uint8ClampedArray
。参见Array.from()
。Uint8ClampedArray.of()
通过一个可选数量参数来创建一个新的
Uint8ClampedArray
。参见Array.of()
。
实例属性
还从其父接口 TypedArray
继承实例属性。
Uint8ClampedArray.prototype.constructor
返回创建一个实例原型的函数。这是
Uint8ClampedArray
默认的构造函数。Uint8ClampedArray.prototype.buffer
只读返回由
Uint8ClampedArray
引用的ArrayBuffer
。在创建时所固定下来,因此只能读取。Uint8ClampedArray.prototype.byteLength
只读返回从
ArrayBuffer
开始的Uint8ClampedArray
的(字节的)长度。在创建时所固定下来,因此只能读取。Uint8ClampedArray.prototype.byteOffset
只读返回从
ArrayBuffer
开始的Uint8ClampedArray
的(字节的)偏移。在创建时所固定下来,因此只能读取。Uint8ClampedArray.prototype.length
只读返回
UintClamped8Array
具有的元素数量。在创建时所固定下来,因此只能读取。
实例方法
从其父接口 TypedArray
继承实例方法。
示例
创建一个 Uint8ClampedArray
的不同方式:
// From a length var uintc8 = new Uint8ClampedArray(2); uintc8[0] = 42; uintc8[1] = 1337; console.log(uintc8[0]); // 42 console.log(uintc8[1]); // 255 (clamped) console.log(uintc8.length); // 2 console.log(uintc8.BYTES_PER_ELEMENT); // 1 // From an array var arr = new Uint8ClampedArray([21, 31]); console.log(arr[1]); // 31 // From another TypedArray var x = new Uint8ClampedArray([21, 31]); var y = new Uint8ClampedArray(x); console.log(y[0]); // 21 // From an ArrayBuffer var buffer = new ArrayBuffer(8); var z = new Uint8ClampedArray(buffer, 1, 4); // From an iterable var iterable = (function* () { yield* [1, 2, 3]; })(); var uintc8 = new Uint8ClampedArray(iterable); // Uint8ClampedArray[1, 2, 3]
规范
Specification |
---|
ECMAScript® 2026 Language Specification # table-49 |