JS中的與或非


  在js中經常用到的判斷條件 與(&&)  或(||)  非(!)

  與運算

  一個為假就為假,全真則為真,遇假則停

var a=1&&2&&3;
       document.write(a);

  這種情況  輸出a的結果是3。

  當執行&&運算時 ,如果前面的都為true,就會繼續向后執行,直到出現為false的結果或者到最后一個,比如:

var a=1&&0&&3;
       document.write(a);

  當前a的值為0

  也就是說,如果條件中出現為false的情況,就不會繼續向后執行,並返回當前值

  在這里說一下返回值為false的6個值:undefined,NaN,“”(空字符串),null,0,false

 

  短路語句

  用&&的特性來實現,舉例:

條件 && document.write(a);

  如果&&前面的值為false,那么后面的就不會在執行,相當於短路,可以用在數據值的檢測,&&前面填寫數據或變量,后面是用到該值或變量的語句,如果為false,后面的語句就不會執行

  

  或運算

  一個為真就為真,全假則為假,遇真則停

var a=1||0||3;
       document.write(a);

  當前輸出結果為1,相比與運算,這里剛好相反

  如果第一個值為true,就返回當前值,並且不再執行后面的語句

  如果是這樣:

 var a=''||0||2;
       document.write(a);

  當前條件返回的a的值是2

  也就是說,只要條件為false,就會向后執行,直到條件為true,停止向后執行,並返回當前值,如果最后一個值也是false,就會返回最后一個值

  ||可以在代碼編寫過程中,用於實現不同瀏覽器兼容性的語句

 

  非

  也就是否的意思,舉個例子

var a=!'';
       document.write(a);

  當前返回值為true

  var a=!123;
       document.write(a);

  當前返回值為false

  上面的兩種情況,是對!后面的值轉換為布爾值之后在取反,返回的值,返回類型就是布爾型

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM