JS中 &&、|| 和 & 、| 的使用

&& 和 || 逻辑运算符 OR : a || b
运算规则: 先隐式转换为boolean类型进行判断,如果a为false,就继续向后执行直到最后,返回隐式转换为false的表达式。如果中途有true则直接返回隐式转换为true的表达式
逻辑运算符 AND : a && b
运算规则: 先隐式转换为boolean类型进行判断,如果a为true,就继续向后执行直到最后,返回隐式转换为true的表达式。如果中途有false则直接返回隐式转换为false的表达式
JS应用:

  • 只显示有值的表达式
    let a = ''; let b = 'test'; let c = 'cHello'; let m = a || b || c;

    JS中 &&、|| 和 & 、| 的使用
    文章图片

  • 判断数据是否为空,不为空继续执行表达式
    let arr = null; arr && arr.forEach(item=>{ console.log(item); })

& 和 | 位运算:
将两个数转换为2进制之后将每个数字中的数位对齐,然后对每一位进行运算
运算符 OR : |
运算规则: 两个数位有一个为true就返回true,否则返回false
运算符 AND : &
运算规则: 两个数位全为true才返回true,否则返回false
JS应用:
  • 判断数字奇偶
    function f(n) { // 整数取余法 if (n % 2) { console.log("n是奇数"); } else { console.log("n是偶数"); } // 位运算 if(n & 1){ console.log("n是奇数"); } else { console.log("n是偶数"); } }

    这两种方法运算出来都为数字 \( 1 \) 或 \( 0 \) ,if判断会自动转换成 boolean 值。
  • 数值取整
    function integerConvert(n) { return (n | 0); }

    JS中 &&、|| 和 & 、| 的使用
    文章图片

注意:
这里取整方式为直接截取前面的整数数值,需要用到其他取整方式请使用Math函数。
取整 函数
四舍五入 Math.round()
向上取整 Math.ceil()
向下取整 Math.floor()
【JS中 &&、|| 和 & 、| 的使用】详情参考:
https://www.w3school.com.cn/j...
https://www.jb51.net/article/...
https://www.cnblogs.com/xljzl...

    推荐阅读