Skip to content

使用 ^ 切换变量 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)
}