我的一位同事偶然发现了一种使用按位或来对浮点数求和的方法:
var a = 13.6 | 0; //a == 13
我们正在谈论它,并且想知道一些事情。
Math.floor
谢谢。
它是如何工作的?我们的理论是使用这样的运算符将数字转换为整数,从而除去小数部分
除无符号右移,以外的所有按位运算都>>>对有符号的32位整数起作用。因此,使用按位运算会将浮点数转换为整数。
>>>
与做Math.floor相比有什么优势吗?也许更快一点?(双关语无意) 有什么缺点吗?也许在某些情况下不起作用?清晰度很明显,因为我们必须弄清楚这一点,我在写这个问题。
与做Math.floor相比有什么优势吗?也许更快一点?(双关语无意)
有什么缺点吗?也许在某些情况下不起作用?清晰度很明显,因为我们必须弄清楚这一点,我在写这个问题。
Math.floor(NaN) === NaN
(NaN | 0) === 0