Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是>&燃气轮机>;=Javascript中的运算符?_Javascript_Operators - Fatal编程技术网

什么是>&燃气轮机>;=Javascript中的运算符?

什么是>&燃气轮机>;=Javascript中的运算符?,javascript,operators,Javascript,Operators,下面的Javascript语句对a有什么作用 a >>>= b; 它的作用与此相同: a = a >>> b; 除了a仅评估一次(如果评估涉及任何副作用,则有明显差异) 而>是。它是一个称为零填充右移位的位运算符。它将把a的二进制表示向右移动b位,并用零替换空项。然后,结果将被分配给aI将a中的值右移到b中的值指定的位数,而不保留符号 这就像>>=运算符对值进行权限移动一样,只是其中一个不会更改数字的符号 例如: var a = -1; // a now

下面的Javascript语句对
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