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