javascript 中的 >>是什么意思

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

阅读 13.2k
2 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏