>> 和 >>> 的区别
>>
:是有符号位运算。
>>>
: 是无符号的位运算。
看示例
在chrome浏览器上的调试结果:
在 null 、undefined、 NaN 等
非数值的位运算,统一返回正整数 0
如果对一个负数进行的>>>
无符号位移运算的话,将负数的二进制码右移后,用 0 补上,最后产生一个很大的正整数。(0111111111111111...)
区别
而在其他语言上 无符号右移 0 位
上的区别:
//java
-1 >>> 0 // print -1
// js
-1 >>> 0 // log 4294967295
无符号右移大于 0 位
的 就没有什么区别了。
//java
-1 >>> 1 // print 2147483647
// js
-1 >>> 1 // log 2147483647