Mic*_*rne 4 javascript integer
我最近发现了一些其他方法来删除JavaScript中除数字值的小数部分Math.floor(n),特别是双位NOT运算符~~n并执行按位或0 n|0.
我想知道这些方法之间的区别是什么,不同的方案是推荐一种方法而不是另一种方法.
所有位运算符的操作数都转换为带符号的32位整数:
Math.floor(2147483648) // 2147483648
2147483648 | 0 // 2147483648
~~2147483648 // 2147483648
Math.floor(2147483649) // 2147483649
2147483649 | 0 // -2147483647
~~2147483649 // -2147483647
Run Code Online (Sandbox Code Playgroud)
所以使用Math.floor();