Atomics.add()

基线 广泛可用

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

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

试一试

语法

js
Atomics.add(typedArray, index, value)

参数

typedArray

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

index

要在其中添加 valuetypedArray 中的位置。

value

要添加的数字。

返回值

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

异常

TypeError

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

RangeError

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

示例

使用 add()

js
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);

Atomics.add(ta, 0, 12); // returns 0, the old value
Atomics.load(ta, 0); // 12

规范

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

浏览器兼容性

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

另请参阅