|=运算符在JavaScript中是什么意思?

|=运算符在JavaScript中是什么意思?,javascript,Javascript,我想知道以下两种情况下的结果值: 一, 二, 这是按位OR赋值。看 因此,result |=expression与result=result | expression相同,它是按位运算符的赋值运算符,它在每个位位置返回一个1,其中一个或两个操作数的对应位为1 请参阅:运算符是按位OR运算符。|运算符将对两个操作数的每一位执行二进制或二进制运算,而不是执行下面的标准二进制或真值表 二进制或 x|y|q 0|0|0 1|0|1 0|1|1 1|1|1 范例 3 | 5 // in binary 0

我想知道以下两种情况下的结果值:

一,

二,


这是按位OR赋值。看


因此,result |=expression与result=result | expression相同,它是按位运算符的赋值运算符,它在每个位位置返回一个1,其中一个或两个操作数的对应位为1

请参阅:

运算符是按位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
将按位OR运算符与等号结合使用会将其转换为赋值语句,类似于+=或-=或任何其他逻辑/算术运算符。它只是result=result |操作数的简写


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

查找what console.logresult;然后进行实验。请参阅格林的答案了解原因。如果你没有以一种只需在控制台中运行示例即可完全回答问题的方式来表达你的问题主体,你可能不会获得反对票。你真正有趣的问题只在标题中被问到。
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