使用 ^ 切换变量 0 或 1
{
// if 判断
let toggle;
if (toggle) {
toggle = 0;
} else {
toggle = 1;
}
console.log(toggle); // 1
}
{
// 三目运算符
let toggle;
togle = toggle ? 0 : 1;
console.log(togle); // 1
}
{
// XOR
let toggle;
toggle ^= 1;
console.log(toggle); // 1
}
使用 & 判断奇偶性
console.log(7 & 1); // 1
console.log(8 & 1); // 0
使用 !! 将数字转为布尔值
所有非 0 的值都是true,包括负数、浮点数:
console.log(!!7); // true
console.log(!!0); // false
console.log(!!-1); // true
console.log(!!0.71); // true
位或( | ):假假为假,其余为真
整数与 0 的位或运算,都是本身。浮点数不支持位运算,过程中会自动转化成整数,利用这一点,可以将浮点数与0进行位或运算即可达到取整目的。
console.log(15.22 | 0); // 15
十进制转二进制
function dec2bin(dec){
return (dec >>> 0).toString(2);
}
二进制转十进制
function bin2dec(bin){
return parseInt(bin, 2).toString(10);
}