查阅了相关资料后,发现其实无非是两个按位非运算符连在了一起。
~是一个单目运算符,表达式中的任何一位为 1,则结果中的该位变为 0。 表达式中的任何一位为 0,则结果中的该位变为 1。
通过以上图片,也就可以看出,其实就是强制性截断小数位
那么就有可能会问,为什么还要写这种样式呢?直接用对浮点数向下取整函数不就好了吗?如下:Math.floor(11.46)=Math.floor(11.68)=Math.floor(11.5)=11
Math.floor(-11.46)=Math.floor(-11.68)=Math.floor(-11.5)=-12
个人认为:这里应该只是为的是图个方便,单纯是为自己看而已,如果是在项目开发中,不推荐使用这种~~来截断小数位。