Baseline Widely available
Atomics.or()
éææ¹æ³ä¼å°ç»å®çå¼ä¸æ°ç»æå®ä½ç½®ä¸çå¼è¿è¡æä½æè¿ç®ï¼å¹¶è¿å该ä½ç½®çæ§å¼ãæ¤ååæä½ä¿è¯å¨ä¿®æ¹åçå¼ååä¹åä¸ä¼åçå
¶ä»åæä½ã
// Create a SharedArrayBuffer with a size in bytes
const buffer = new SharedArrayBuffer(16);
const uint8 = new Uint8Array(buffer);
uint8[0] = 5;
// 5 (0101) OR 2 (0010) = 7 (0111)
console.log(Atomics.or(uint8, 0, 2));
// Expected output: 5
console.log(Atomics.load(uint8, 0));
// Expected output: 7
è¯æ³
Atomics.or(typedArray, index, value)
åæ°
typedArray
ä¸ä¸ªæ´æ°ç±»åæ°ç»ãInt8Array
ãUint8Array
ãInt16Array
ãUint16Array
ãInt32Array
ãUint32Array
ãBigInt64Array
æ BigUint64Array
ä¹ä¸ã
index
typedArray
ä¸è¦è¿è¡æä½æè¿ç®çä½ç½®ã
value
è¦è¿è¡æä½æè¿ç®çå¼ã
ç»å®ä½ç½®çæ§å¼ï¼typedArray[index]
ï¼ã
TypeError
妿 typedArray
䏿¯å
è®¸çæ´æ°ç±»åæ°ç»ä¹ä¸ï¼åæåºè¯¥å¼å¸¸ã
RangeError
妿 index
è¶
åº typedArray
çèå´ï¼åæåºè¯¥å¼å¸¸ã
å½ a
æ b
为 1 æ¶ï¼æä½æè¿ç®ç»æä¸º 1ãæè¿ç®ççå¼è¡¨å¦ä¸ï¼
a
b
a | b
0 0 0 0 1 1 1 0 1 1 1 1
ä¾å¦ï¼ 5 | 1
æä½æè¿ç®çç»ææ¯ 0101
ï¼ä¹å°±æ¯åè¿å¶ç 5ï¼
5 0101 1 0001 ---- 5 0101ç¤ºä¾ ä½¿ç¨ or()
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0] = 2;
Atomics.or(ta, 0, 1); // è¿å 2ï¼å³æ§çå¼
Atomics.load(ta, 0); // 3
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4