Javascript中的>>> =运算符是什么?

时间:2009-10-27 20:23:26

标签: javascript operators

以下Javascript语句对a做了什么?

a >>>= b;

4 个答案:

答案 0 :(得分:13)

它做同样的事情:

a = a >>> b;

除了a仅被评估一次(如果其评估涉及任何副作用,则具有可观察到的差异)。

>>>unsigned (logical) right shift

答案 1 :(得分:5)

我正确地将值移动到b中的值指定的位数,而不保持符号。

就像>> =运算符一样,权限会移动一个值,只有那个不会改变数字的符号。

示例:

var a = -1;

// a now contains -1, or 11111111 11111111 11111111 11111111 binary

var b = 1;
a >>>= b;

// a now contains 2147483647, or 01111111 11111111 11111111 11111111 binary.

答案 2 :(得分:3)

这是一个称为零填充右移的按位运算符。它会将a的二进制表示向右移动b个位置,并用零替换空项。然后,结果将分配给a

答案 3 :(得分:0)

Crockford points out虽然JavaScript具有像>>>这样的按位运算符,但在其原生双精度浮点数上使用它们意味着在内部来回转换为整数。它们不如使用本机整数数据类型的其他语言那样高效。