在线文档教程

Atomics.xor

Atomics.xor

静态Atomics.xor()方法在数组的给定位置计算具有给定值的按位 xor, 并返回该位置的旧值。此原子操作保证在修改后的值被写回之前不会发生其他写入。

语法

Atomics.xor(typedArray, index, value)

参数

typedArray共享整数类型的数组。Int8ArrayUint8ArrayInt16ArrayUint16ArrayInt32Array,或Uint32Array

返回值

给定位置的旧值(typedArray[index])。

异常

  • TypeError, 如果不是允许的参数类型

  • TypeError, 如果 typedArray 不是共享类型

  • RangeError,数组越界

描述

如果 a 和 b 不同, 则按位 XOR 运算生成1。XOR 操作的真值表是:

aba ^ b
000
011
101
110

例如, 5 和1的按位 XOR 会导致 0100, 该值为十进制的4。

5 0101 1 0001 ---- 4 0100

示例

var sab = new SharedArrayBuffer(1024 var ta = new Uint8Array(sab ta[0] = 5; Atomics.xor(ta, 0, 1 // returns 5, the old value Atomics.load(ta, 0 // 4

规范

SpecificationStatusComment
ECMAScript Latest Draft (ECMA-262)The definition of 'Atomics.xor' in that specification.DraftInitial definition in ES2017.

浏览器兼容性

FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic supportNo support 2No support55 (55) 1No supportNo supportNo support

FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic supportNo supportNo support55.0 (55) 1No supportNo supportNo support