Atomics.or()

基线 广泛可用

此功能已得到良好建立,并在许多设备和浏览器版本中均可使用。它自以下时间起在各个浏览器中可用 2021 年 12 月.

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

试一试

语法

js
Atomics.or(typedArray, index, value)

参数

typedArray

整数类型数组。其中之一为 Int8ArrayUint8ArrayInt16ArrayUint16ArrayInt32ArrayUint32ArrayBigInt64ArrayBigUint64Array

index

计算按位或的 typedArray 中的位置。

value

要与其计算按位或的数字。

返回值

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

异常

TypeError

如果 typedArray 不是允许的整数类型之一,则抛出此异常。

RangeError

如果 index 超出 typedArray 的范围,则抛出此异常。

描述

如果 ab 为 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

示例

使用或

js
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0] = 2;

Atomics.or(ta, 0, 1); // returns 2, the old value
Atomics.load(ta, 0); // 3

规范

规范
ECMAScript 语言规范
# sec-atomics.or

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅