| =运算符在JavaScript中意味着什么?

时间:2014-10-30 02:16:32

标签: javascript

我想知道result在以下两种情况下的价值:

1

var result = false;
result |= false;

2

var result = false;
result |= true;

3 个答案:

答案 0 :(得分:3)

这是BitWise OR Assignment。见http://msdn.microsoft.com/en-us/library/ie/81bads72%28v=vs.94%29.aspx

所以result |= expressionresult = result | expression

相同

答案 1 :(得分:1)

|运算符是Bitwise OR运算符。而不是执行标准二进制OR(下面的真值表),|运算符将为两个操作数的每个位执行二进制OR。

二进制OR

x|y|q
0|0|0
1|0|1
0|1|1
1|1|1

实施例

3 | 5
// in binary
0011 | 0101
// as a truth table

x|y|q
0|0|0
0|1|1
1|0|1
1|1|1

0011 | 0101 = 0111
// in decimal
3 | 5 = 7

将Bitwise OR运算符与等号结合使用会将其转换为赋值语句,其方式与+=-=或任何其他逻辑/算术运算符类似。它只是result = result | operand的缩写。

重要的是要注意,如果您使用具有布尔值(true或false)的运算符,则在以上述方式进行比较之前,它们将被强制转换为数值(分别为1和0)。

答案 2 :(得分:0)

它是BitWise运算符的赋值运算符“|”在每个位的位置返回一个,其中一个或两个操作数的相应位是1。

请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Arithmetic_operators