什么是这个javascript表达式

Leo*_*Meo 5 javascript operators

我已经在2年内使用过javascript,但我从未见过像这样的表达式.在谷歌C​​hrome控制台我输入了这个

var a=456;
var b=789;
Run Code Online (Sandbox Code Playgroud)

然后我输入了这个

a|=b 
Run Code Online (Sandbox Code Playgroud)

结果是 989

谁能告诉我这个表达是什么,结果为什么989

Kha*_*lid 2

好的表达

a|=b;
Run Code Online (Sandbox Code Playgroud)

就像当你这样做时a+=b;,它相当于

a = a | b;
Run Code Online (Sandbox Code Playgroud)

操作员|OR,而不是像操作员||。这个用作OR二元运算的运算符

5   |  1   ->     0101 | 0001          ->      0101    ->    5
Run Code Online (Sandbox Code Playgroud)

在你的情况下

456 | 789  ->  111001000 | 1100010101  ->   1111011101  ->    989
Run Code Online (Sandbox Code Playgroud)