“为什么?”|0“;添加到Javascript中的许多数学操作中

“为什么?”|0“;添加到Javascript中的许多数学操作中,javascript,math,bit-manipulation,Javascript,Math,Bit Manipulation,我最近一直在研究Javascript中的很多数学问题,并且看到了很多以“|0”结尾的行。例如,我在查看Coinhive挖掘代码的asm.js输出时,到处都可以看到这样的情况: k = (d[a + 45 >> 0] | 0) << 1; l = c[4768 + (k << 2) >> 2] | 0; k = c[4768 + ((k | 1) << 2) >> 2] | 0; m = (d[a + 54 >>

我最近一直在研究Javascript中的很多数学问题,并且看到了很多以“|0”结尾的行。例如,我在查看Coinhive挖掘代码的asm.js输出时,到处都可以看到这样的情况:

k = (d[a + 45 >> 0] | 0) << 1;
l = c[4768 + (k << 2) >> 2] | 0;
k = c[4768 + ((k | 1) << 2) >> 2] | 0;
m = (d[a + 54 >> 0] | 0) << 1;
k=(d[a+45>>0]| 0)2]| 0;
k=c[4768+((k | 1)>2]| 0;

m=(d[a+54>>0]| 0)“forces”32位带符号整数-参见啊。感谢您的快速回答!可能是