Atomics.add

Atomics.add

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

语法

Atomics.add(typedArray, index, value)

参数

typedArray一个共享的整型 typed array。例如Int8ArrayUint8ArrayInt16ArrayUint16ArrayInt32Array,或者Uint32ArrayindextypedArray 中的位置,该位置数值会被加总并更新。value增加的数字。

返回值

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

错误

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

  • 假如 typedArray 不是一个shared typed array类型,则抛出 TypeError

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

示例

var sab = new SharedArrayBuffer(1024 var ta = new Uint8Array(sab Atomics.add(ta, 0, 12 // returns 0, the old value Atomics.load(ta, 0 // 12

规范

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