什么是>>符号是什么意思?在这个页面上,有一行如下所示:
var i = 0, l = this.length >> 0, curr;
Run Code Online (Sandbox Code Playgroud)
它是按位移动的.
我们取数字7,二进制是 0b00000111
7 << 1将它向左移一位,给你0b00001110,这是14
同样,你可以向右移动:7 >> 1将切断最后一位,给你0b000000113是.
[编辑]
在JavaScript中,数字存储为浮点数.但是,在移位时需要整数值,因此在JavaScript值上使用位移会将其从float转换为整数.
在JavaScript中,移位0位会使数字向下舍入*(整数舍入) (更好的措辞:它会将值转换为整数)
> a = 7.5;
7.5
> a >> 0
7
Run Code Online (Sandbox Code Playgroud)
*:除非数字为负数.
旁注:由于JavaScript的整数是32位,因此请避免使用按位移位,除非您完全确定不会使用大数字.
[编辑2]
this.length >> 0也会复制该号码,而不是参考它.虽然我不知道为什么有人会想要那个.
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |