符号>>在javascript中是什么意思

符号>>在javascript中是什么意思,javascript,Javascript,>>符号是什么意思?在上,有一行是这样的: var i = 0, l = this.length >> 0, curr; 就像在许多其他语言中一样>>中间运算符>是一个。就像在许多其他语言中>>中间运算符>是一个。它是按位移位的 让我们以数字7为例,二进制形式是0b00000111 7>1将切断最后一位,得到0b00000011,即3 [编辑] 在JavaScript中,数字存储为浮点数。然而,当移位时需要整数值,所以对JavaScript值使用位移位将其从浮点转换为整数 在Jav

>>符号是什么意思?在上,有一行是这样的:

var i = 0, l = this.length >> 0, curr;

就像在许多其他语言中一样>>中间运算符>是一个。

就像在许多其他语言中>>中间运算符>是一个。

它是按位移位的

让我们以数字7为例,二进制形式是0b00000111

7>1将切断最后一位,得到0b00000011,即3

[编辑] 在JavaScript中,数字存储为浮点数。然而,当移位时需要整数值,所以对JavaScript值使用位移位将其从浮点转换为整数

在JavaScript中,移位0位将使数字向下舍入*整数舍入更恰当:它将值转换为整数

*:除非数字为负数

旁注:由于JavaScript的整数是32位的,所以避免使用逐位移位,除非您绝对确定不会使用大的数字

[编辑2] this.length>>0还将复制该号码,而不是引用该号码。虽然我不知道为什么会有人想要它。

这是按位移位

让我们以数字7为例,二进制形式是0b00000111

7>1将切断最后一位,得到0b00000011,即3

[编辑] 在JavaScript中,数字存储为浮点数。然而,当移位时需要整数值,所以对JavaScript值使用位移位将其从浮点转换为整数

在JavaScript中,移位0位将使数字向下舍入*整数舍入更恰当:它将值转换为整数

*:除非数字为负数

旁注:由于JavaScript的整数是32位的,所以避免使用逐位移位,除非您绝对确定不会使用大的数字

[编辑2]
this.length>>0还将复制该号码,而不是引用该号码。虽然我不知道为什么会有人想要它。

什么是位移位,为什么在这里使用它?那么位移位与页面上的代码有什么关系呢??谢谢。你应该检查这个问题什么是位移位,为什么在这里使用它?那么位移位与页面上的代码有什么关系??顺便说一句,谢谢。你应该检查这个问题@JanDvorak在我的回答中补充说,如果nubmer存储为字符串,它将转换为数字。备选方案:a | | 0,~~如果代码将array.length转换为零。我怀疑array.length永远不会是小数。那么这样做有什么意义呢?@SergeyS如果数组不是真正的数组,那么长度可以是任何值。这个方法可以移植到任何东西上。@JanDvorak在我的回答中补充说,如果numer存储为字符串,它将被转换为数字。可选方法:a | | 0,~~如果代码将array.length转换为零。我怀疑array.length永远不会是小数。那么这样做有什么意义呢?@SergeyS如果数组不是真正的数组,那么长度可以是任何值。这种方法可以移植到任何东西上。
> a = 7.5;
7.5
> a >> 0
7