在线文档教程

Atomics.and

Atomics.and

Atomics.and()静态方法会将给定的值与数组上的值进行按位与操作,并将结果赋值给数组,然后返回数组该位置上的旧值。此原子操作保证在写上修改的值之前不会发生其他写操作。

语法

Atomics.and(typedArray, index, value)

参数

typedArray一个共享的整型 typed array。例如 Int8ArrayUint8ArrayInt16ArrayUint16ArrayInt32Array,或Uint32Arrayindex按位与操作的 typedArray 的值在数组上的索引。value给定的按位与操作的值。

返回值

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

异常

  • 假如 typedArray 不是允许的整型之一,则抛出 TypeError

  • 假如 typedArray 不是一个贡献的 typed array,则抛出 TypeError

  • 如果 index 超出了 typedArray 的边界,则抛出 RangeError

描述

假如 a 和 b 都是 1,那么按位与运算( a & b)仅产生1。与操作的真值表为:

aba & b
000
010
100
111

比如,一个按位与如 5 & 1 的结果是 0001,其十进制就是1

5 0101 1 0001 ---- 1 0001

示例

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

规范

SpecificationStatusComment
ECMAScript Latest Draft (ECMA-262)The definition of 'Atomics.and' 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