JavaScript的Atomic对象是一个对象,它提供原子操作,例如add,sub和或xor,load,store等作为静态方法,这些方法与SharedArrayBuffer对象一起使用。
原子对象的sub()函数接受一个数字和位置,从给定位置的数字中减去给定数字,然后返回旧位置的数字值。
其语法如下。
Atomics.sub()
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var arrayBuffer = new SharedArrayBuffer(16); var data = new Uint8Array(arrayBuffer); data[0] = 30; Atomics.sub(data, 0, 10); document.write(Atomics.load(data, 0)); </script> </body> </html>
输出结果
20
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var arrayBuffer = new SharedArrayBuffer(16); var data = new Uint8Array(arrayBuffer); data[0] = 30; document.write("Previous: "+Atomics.sub(data, 0, 10)); document.write("<br>"); document.write("Result: "+Atomics.load(data, 0)); document.write("<br>"); document.write("Previous: "+Atomics.sub(data, 0, 5)); document.write("<br>"); document.write("Result: "+Atomics.load(data, 0)); </script> </body> </html>
输出结果
Previous: 30 Result: 20 Previous: 20 Result: 15