什么是>&燃气轮机>;=Javascript中的运算符?
下面的Javascript语句对什么是>&燃气轮机>;=Javascript中的运算符?,javascript,operators,Javascript,Operators,下面的Javascript语句对a有什么作用 a >>>= b; 它的作用与此相同: a = a >>> b; 除了a仅评估一次(如果评估涉及任何副作用,则有明显差异) 而>是。它是一个称为零填充右移位的位运算符。它将把a的二进制表示向右移动b位,并用零替换空项。然后,结果将被分配给aI将a中的值右移到b中的值指定的位数,而不保留符号 这就像>>=运算符对值进行权限移动一样,只是其中一个不会更改数字的符号 例如: var a = -1; // a now
a
有什么作用
a >>>= b;
它的作用与此相同:
a = a >>> b;
除了
a
仅评估一次(如果评估涉及任何副作用,则有明显差异)
而
>
是。它是一个称为零填充右移位的位运算符。它将把a
的二进制表示向右移动b
位,并用零替换空项。然后,结果将被分配给a
I将a中的值右移到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.
虽然JavaScript有像
>
这样的位运算符,但在其本机双精度浮点数上使用它们意味着在内部来回转换为整数。它们的效率不如其他语言中使用本机整数数据类型的效率。真的,你不能使用谷歌来查找这些信息吗?你有没有尝试过用谷歌搜索“>>=”?这个网站的部分目标是成为最终的参考;我不认为简单的问题是不合适的。谷歌将在查询中忽略“>>>”;你必须知道如何搜索“运算符”或“按位运算符”。有时很难通过谷歌找到运算符定义,因为该运算符本身会被搜索引擎视为“垃圾”。我记得有一次我试图找出splat操作符在Ruby中做了什么。当然,我不知道它被称为splat操作符,并尝试搜索“*”:)我可以想象为什么直接尝试使用谷歌会失败-你有没有尝试过搜索标点符号?谢谢!这是我在这里看到的一些疯狂的复杂编码/解码代码。a
对于a=a>>b也只“评估一次”。它不像是第二次被查到。这两个表达式都返回表达式的返回值,而不是a
(设置为该值)。@Elijah:假设a
是任意表达式的占位符,而不仅仅是标识符。感谢您提供该示例!天哪,这是一些复杂的东西!o_0