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