在书上看到的: array[Math.random()*array.length)>>0] 上面表示啥呢?
此操作符>>原本用于将操作数进行(二进制)右移操作,但是在这里,(Math.random()*array.length)>>0利用的是它取整的效果:右移0位,即没有位移,但是仍然做了取整的操作。
>>
(Math.random()*array.length)>>0
你少打了一个括号>>是位运算的右移,就是把操作数对应的二进制数整体右移一位(最高位补0,最低位砍掉)。>>x相当于除以2的x次方>>0就是Math.floor()
>>x
>>0
Math.floor()
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
此操作符
>>
原本用于将操作数进行(二进制)右移操作,但是在这里,(Math.random()*array.length)>>0
利用的是它取整的效果:右移0位,即没有位移,但是仍然做了取整的操作。