什么<<在Math.random()* Math.pow(36,2)<< 0

时间:2017-12-20 22:08:09

标签: javascript bit-shift

想知道<<在这里做了什么:

Math.random() * Math.pow(36, 2) << 0

不确定如何在实践中使用它。

2 个答案:

答案 0 :(得分:1)

它截断数字/将其转换为整数。你可以自己测试一下:

console.log(12.345 << 0); // 12

- 此问题与Why does a shift by 0 truncate the decimal?

非常相似

答案 1 :(得分:0)

看看这个

a = Math.pow(36, 2)
1296
a = Math.random() * a
477.5906135469167
a = a << 0
477