Baseline Widely available
Atomics.xor()
éææ¹æ³ä¼å°ç»å®çå¼ä¸æ°ç»æå®ä½ç½®ä¸çå¼è¿è¡æä½å¼æè¿ç®ï¼å¹¶è¿å该ä½ç½®çæ§å¼ãæ¤ååæä½ä¿è¯å¨ä¿®æ¹åçå¼ååä¹åä¸ä¼åçå
¶ä»åæä½ã
// Create a SharedArrayBuffer with a size in bytes
const buffer = new SharedArrayBuffer(16);
const uint8 = new Uint8Array(buffer);
uint8[0] = 7;
// 7 (0111) XOR 2 (0010) = 5 (0101)
console.log(Atomics.xor(uint8, 0, 2));
// Expected output: 7
console.log(Atomics.load(uint8, 0));
// Expected output: 5
è¯æ³
Atomics.xor(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ã弿è¿ç®ççå¼è¡¨å¦ä¸ï¼
a
b
a ^ b
0 0 0 0 1 1 1 0 1 1 1 0
ä¾å¦ï¼5 ^ 1
æä½å¼æè¿ç®çç»ææ¯ 0100
ï¼ä¹å°±æ¯åè¿å¶ç 4ã
5 0101 1 0001 ---- 4 0100ä½¿ç¨ xor()
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0] = 5;
Atomics.xor(ta, 0, 1); // è¿å 5ï¼å³æ§çå¼
Atomics.load(ta, 0); // 4
è§è æµè§å¨å
¼å®¹æ§ åè§
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