位运算的执行效率比较高

按位与(&) 作用:判断奇偶数

1
2
3
4
5
if (n % 2 === 1) {
console.log("n是奇数");
} else {
console.log("n是偶数");
}

按位或(|) 作用:取整

var num = 1.1 | 0; // 1

按位非(~) 求二进制的反码,实际操作中可以用来取整,相当于Math.floor

1
~~1.7 === 1 //true

按位异或(^) 作用:交换两数

1
2
3
num1 ^= num2;
num2 ^= num1;
num1 ^= num2;

有符号左移(<<) 作用:就是*2的几次幂

1<<5 // 32