我想知道在以下2箱子result
值:| =运算符在JavaScript中表示什么?
1.
var result = false;
result |= false;
2.
var result = false;
result |= true;
我想知道在以下2箱子result
值:| =运算符在JavaScript中表示什么?
1.
var result = false;
result |= false;
2.
var result = false;
result |= true;
它是按位或转让。见http://msdn.microsoft.com/en-us/library/ie/81bads72%28v=vs.94%29.aspx
所以result |= expression
相同result = result | expression
这是位运算符的赋值操作符“|”它在每个比特位置返回一个,其中一个或两个操作数的对应比特是1。
的|
操作者是位或运算符。而不是做一个标准的二进制或(下面的真值表),|
运算符将为这两个操作数的每一位执行一个二进制或运算。
二进制或
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
在与配合使用位或操作等号把它变成一个赋值语句,以类似的方式来+=
或-=
或任何的其他逻辑/算术运算符。这只是result = result | operand
的简写。
需要注意的是,如果您使用具有布尔值(true或false)的运算符,它们将被强制为数值(分别为1和0),然后再按上述方式进行比较。
查看'console.log(result);'做了什么,然后执行实验。请参阅格林的回答为什么。 – 2014-10-30 02:25:14
如果你的问题没有以你的问题为主题,那么你可能不会得到赞赏,只需在控制台中运行你的样本即可完全回答。你真正有趣的问题只在标题中提出。 – 2014-10-30 02:27:37