javascript 中的 >>是什么意思

在书上看到的:
array[Math.random()*array.length)>>0]
上面表示啥呢?

阅读 13.6k
2 个回答

此操作符>>原本用于将操作数进行(二进制)右移操作,但是在这里,(Math.random()*array.length)>>0利用的是它取整的效果:右移0位,即没有位移,但是仍然做了取整的操作。

你少打了一个括号
>>是位运算的右移,就是把操作数对应的二进制数整体右移一位(最高位补0,最低位砍掉)。
>>x相当于除以2的x次方
>>0就是Math.floor()

推荐问题