本文主要是介绍js中的~和取整,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
~运算符的本质是取反,在js中是一个针对32位的操作。
~x会先把x转成32位的整数,如果x是number类型的数据,则直接进行转换,否则先转换成32位整数,如果转换失败,则x变成NaN,~NaN会变成-1.这里的转换不是单纯地使用parseInt进行转换,而是类似于js的隐式转换,比如true等于1,false等于0,例如~true会等于-2,这说明true被转换成了1而不是NaN.
~的本质运算为(假设是8位):1=》00000001那么~1=>11111110=-2.(-2的表示为100000010=》11111101+1=11111110),我们知道x和~x相加等于-1.因为相加后等于11111111(10000001=》11111110+1=11111111),也就是-1。
最后~的其中一个用处是~~doubleNumber等于整数,也就是说~~可以用于取整。~对浮点型进行了截断。用0|x也是可以的。
这篇关于js中的~和取整的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!