由以下示例代码可以看出,Uint8ClampedArray
和Uint8Array
的区别主要在于如何处理给数组赋值的内容。
如果你试图给Uint8ClampedArray
设置一个0-255
范围之外的值,它将简单地默认为0
或255
(取决于值是大于255,还是小于0)。而Uint8Array array
只会取数值二进制值的前8位。
示例:
var x = new Uint8ClampedArray([17, -45.3]);
console.log(x[0]); // 17
console.log(x[1]); // 0
console.log(x.length); // 2
var x = new Uint8Array([17, -45.3]);
console.log(x[0]); // 17
console.log(x[1]); // 211
console.log(x.length); // 2
[stackoverflow]Difference between Uint8Array and Uint8ClampedArray