JS 中的“|=”运算符(以前从未见过)

"|=" operator in JS (never seen before)

刚遇到下面的代码

var loadComplete = 0;
window.onload = function(){
    loadComplete |= 1;
};

我从未见过像“|=”这样的运算符。 我也搜索过它,但似乎没有它的例子。

正如x += 1等同于x = x + 1x |= 1等同于x = x | 1where | is the bitwise OR operator.

按位或:

var a = 205;   // In binary: 11001101
var b = 45;    // In binary: 00101101
var c = a | b; // In binary: 11101101

基本上,如果列中有任何个,它会保留它,并转换回十进制表示法,237