Uint32Array
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
Uint32Array 表示ä¸ä¸ªç±åºäºå¹³å°åèåºç 32 使 符å·åèç»æçæ°ç»ã妿éè¦å¯¹åè顺åºè¿è¡æ§å¶ (è¯è
注ï¼å³ littleEndian æ bigEndian)ï¼è¯·ä½¿ç¨ DataView 代æ¿ãæ°ç»ä¸æ¯ä¸ªå
ç´ çåå§å¼é½æ¯0ã䏿¦å建ï¼ä½ å¯ä»¥ç¨å¯¹è±¡çæ¹æ³å¼ç¨æ°ç»éçå
ç´ ï¼æè
ä½¿ç¨æ åçæ°ç»ç´¢å¼è¯æ³ï¼å³ï¼ä½¿ç¨ä¸æ¬å·ï¼ã
è¯æ³
new Uint32Array(); // new in ES2017 new Uint32Array(length); new Uint32Array(typedArray); new Uint32Array(object); new Uint32Array(buffer [, byteOffset [, length]]);
æ´å¤çæé å¨è¯æ³å屿§è¯·åç § TypedArrayã
éæå±æ§
Uint32Array.BYTES_PER_ELEMENT-
è¿åä¸ä¸ªæ°å¼ï¼ä»£è¡¨
Uint32Arrayä¸å个å ç´ çåè大å°ãUint32Arrayè¿å4ã - Uint32Array.length
-
åºå®å¼ (static) 屿§ï¼å¼ä¸º 3ã使ç¨
Uint32Array.prototype.lengthè·å¾æ°ç»ççå®é¿åº¦ï¼å ç´ ä¸ªæ°ï¼ã Uint32Array.prototype-
TypedArray 对象çååé¾ã
éææ¹æ³
Uint32Array.from()-
ä»ç±»ä¼¼æ°ç»æè å¯è¿ä»£å¯¹è±¡å建ä¸ä¸ªæ°ç
Uint32Arrayã请åèArray.from()ã Uint32Array.of()-
ä»å¯åé¿åº¦çåæ°å建ä¸ä¸ªæ°ç
Uint32Arrayã请åèArray.of()ã
å®ä¾å±æ§
è¿ä»å
¶ç¶æ¥å£ TypedArray ç»§æ¿å®ä¾å±æ§ã
Uint32Array.prototype.constructor-
è¿åå建å®ä¾ååç彿°ãé»è®¤è¿å
Uint32Arrayçæé å¨ã Uint32Array.prototype.bufferåªè¯»-
è¿å
Uint32Arrayå¼ç¨çArrayBufferãç±äºæé æ¶å·²åºå®ï¼æä»¥æ¯åªè¯»çã Uint32Array.prototype.byteLengthåªè¯»-
è¿åä»å ¶
ArrayBufferå¼å§çUint32Arrayåèé¿åº¦ãç±äºæé æ¶å·²åºå®ï¼æä»¥æ¯åªè¯»çã Uint32Array.prototype.byteOffsetåªè¯»-
è¿åä»å ¶
ArrayBufferçåç§»å¼å§çUint32Arrayåèé¿åº¦ãç±äºæé æ¶å·²åºå®ï¼æä»¥æ¯åªè¯»çã Uint32Array.prototype.lengthåªè¯»-
è¿å
Uint32Arrayä¸å ç´ ç个æ°ãç±äºæé æ¶å·²åºå®ï¼æä»¥æ¯åªè¯»çã
å®ä¾æ¹æ³
ä»å
¶ç¶æ¥å£ TypedArray ç»§æ¿å®ä¾æ¹æ³ã
示ä¾
ç¨ä¸åçæ¹æ³å建 Uint32Arrayï¼
// ç»å®é¿åº¦
var uint32 = new Uint32Array(2);
uint32[0] = 42;
console.log(uint32[0]); // 42
console.log(uint32.length); // 2
console.log(uint32.BYTES_PER_ELEMENT); // 4
// ç»å®æ°ç»
var arr = new Uint32Array([21, 31]);
console.log(arr[1]); // 31
// ç»å® TypedArray
var x = new Uint32Array([21, 31]);
var y = new Uint32Array(x);
console.log(y[0]); // 21
// ç»å® ArrayBuffer
var buffer = new ArrayBuffer(16);
var z = new Uint32Array(buffer, 0, 4);
// ç»å®å¯è¿ä»£å¯¹è±¡
var iterable = (function* () {
yield* [1, 2, 3];
})();
var uint32 = new Uint32Array(iterable);
// Uint32Array[1, 2, 3]
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-typedarray-objects> |