使用 ^ 切换变量 0 或 1

    1. {
    2. // if 判断
    3. let toggle;
    4. if (toggle) {
    5. toggle = 0;
    6. } else {
    7. toggle = 1;
    8. }
    9. console.log(toggle); // 1
    10. }
    11. {
    12. // 三目运算符
    13. let toggle;
    14. togle = toggle ? 0 : 1;
    15. console.log(togle); // 1
    16. }
    17. {
    18. // XOR
    19. let toggle;
    20. toggle ^= 1;
    21. console.log(toggle); // 1
    22. }

    使用 & 判断奇偶性

    1. console.log(7 & 1); // 1
    2. console.log(8 & 1); // 0

    使用 !! 将数字转为布尔值
    所有非 0 的值都是true,包括负数、浮点数:

    1. console.log(!!7); // true
    2. console.log(!!0); // false
    3. console.log(!!-1); // true
    4. console.log(!!0.71); // true

    位或( | ):假假为假,其余为真
    整数与 0 的位或运算,都是本身。浮点数不支持位运算,过程中会自动转化成整数,利用这一点,可以将浮点数与0进行位或运算即可达到取整目的。

    1. console.log(15.22 | 0); // 15

    十进制转二进制

    1. function dec2bin(dec){
    2. return (dec >>> 0).toString(2);
    3. }

    二进制转十进制

    1. function bin2dec(bin){
    2. return parseInt(bin, 2).toString(10);
    3. }