美文网首页
&&与||的用法总结

&&与||的用法总结

作者: 隔壁老王z | 来源:发表于2018-11-02 15:18 被阅读0次
    图片来自MDN

    从左往右,&&false||true,找到了则将返回找到的值,否则返回下一个。

    一些特殊用法:

    • 用于赋值
      &&:从左往右依次判断,当当前值为true则继续,为false则返回此值(是返回未转换为布尔值时的原值哦)
      ||: 从左往右依次判断,当当前值为false则继续,为true则返回此值(是返回未转换为布尔值时的原值哦)
    // => aaa
    var attr = true && 4 && "aaa";
    // => 0
    var attr = true && 0 && "aaa";
    // => 100
    var attr = 100 || 12;
    // => e
    var attr = "e" || "hahaha"
    // => hahaha
    var attr = "" || "hahaha"
    
    • 经过多次判断的赋值
    /*
    x>=15时 => 4
    x>=12时 => 3
    x>=10时 => 2
    x>=5时 => 1
    x<5时 => 0
    */
    console.log((x>=15 && 4) || (x>=12 && 3) || (x>=10 && 2) || (x>=5 && 1) || 0);
    

    里面的括号也可以去掉,因为&&的优先级是高于||的。

    • 对象形式的变量合体
    /*
    x=15 时 => 4
    x=12 时 => 3
    x=10 时 => 2
    x=5 时 => 1
    其它 => 0
    */
    console.log( {'5':1,'10':2,'12':3,'15':4}[x] || 0 );
    
    • 用于执行语句
    if(a >=5){alert("你好");}
    //可以写成: 
    a >= 5 && alert("你好");
    

    相关文章

      网友评论

          本文标题:&&与||的用法总结

          本文链接:https://www.haomeiwen.com/subject/siccxqtx.html