JavaScript 2.3 js之||、&&、|、&、三目运算符


/*
    ||只要前面为false,后面无论真假,都取后面的值
      只要前面为true,后面无论真假,都取前面的值
      总结:至少有一个为真,则为真
       输出结果:1
               0
               true
               true
 */
console.log(false||1);
console.log(false||0);
console.log(true||0);
console.log(true||1);
/*
    &&只要前面为false,后面无论真假,都取前面的值
      只要前面为true,后面无论真假,都取后面的值
      总结:两便都必须为真,否则为假
      输出结果:false
              false
              0
              1
 */
console.log(false&&1);
console.log(false&&0);
console.log(true&&0);
console.log(true&&1);

/*
    0、”“、null、false、undefined、NaN,这6种都会被当成false,其他为true
    输出结果:
            0
            null
            false
            undefined
            NaN
*/
console.log(0 && 1);
console.log(null && 1);
console.log(false && 1);
console.log(undefined &&1);
console.log(NaN && 1);
function f() {
  if(""){
      console.log("false");
  }
  else {
      console.log("true");
  }
}
f()
/*
    | 二进制位,有一个为1,则都为1
    20等于10100
    3等于11
    10100 | 00011 等于10111,即23
 */
console.log(20 | 3)
/*
    & 二进制位,同时为1.则为1,否则为0
    20等于10100
    3等于11
    10100 | 00011 等于10111,即0
 */
console.log(20 & 3)

console.log(20 > 10 ? true : false)
console.log(20 < 10 ? true : false)
var sc = 100;
var result = (sc<0 || sc>100) ?("分数无效"):
        sc>=90?("A"):
        sc>=80?("B"):
        sc>=60?("C"):("D");
console.log(result)
/*
    三目运算符,表达式为真,取前值,表达式为假,取后值
    上述表达式等同于
    if(sc<0 || sc>100){
        console.log("分数无效");
    }
    else if(sc>=90){
         console.log("A");
    }
    else if(sc>=80){
         console.log("B");
    }
    else if(sc>=60){
         console.log("C");
    }
    else if(sc<60){
         console.log("D");
    }

 */

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页