JavaScript 2.3 js之||、&&、|、&、三目運算子

LetsStudy發表於2020-09-27

/*
    ||只要前面為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");
    }

 */

 

相關文章