繁体   English   中英

为什么 Date.now() | 0 与 Date.now() 不同

[英]Why Date.now() | 0 not same as Date.now()

整数 | 0 将与源编号相同

但为什么Date.now() | 0 Date.now() | 0Date.now()

 let t = Date.now() console.log((t | 0) === t)

如由32个0和/或1表示的位运算符的比特操作。 如果正在操作的数字超出此范围,则结果可能不直观。

对于按位或,一旦数字为2 ** 31 - 1 ,就会达到此限制:

 const test = num => console.log((num | 0) === num); test(2 ** 31 - 1) test(2 ** 31) test(2 ** 31 + 1)

Date.now返回 epoch 和 now 之间的毫秒数,这是一个很大的数字( 1583486012561左右),远大于2147483647的上限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM