JS中的邏輯運算符&&、||


1、JS中的||符號:

運算方法:

     只要“||”前面為false,不管“||”后面是true還是false,都返回“||”后面的值。

     只要“||”前面為true,不管“||”后面是true還是false,都返回“||”前面的值。

總結:真前假后;

2、JS中的&&符號:

運算方法:

     只要“&&”前面是false,無論“&&”后面是true還是false,結果都將返“&&”前面的值;

     只要“&&”前面是true,無論“&&”后面是true還是false,結果都將返“&&”后面的值;

總結:假前真后;

總之:誰重要就返回誰;&& 優先級高於 ||

 

1 alert((1&&3||0)&&4);
2 alert(1&&3||0&&4);
3 alert(0&&3||1&&4);

 

看到第一行:

1&&3 :對於&& 如果前面的是真的,它還需要知道后面的值是否是真的,所以當前面為真了,那么后面的值決定了它的真假,所以 前面真了,就返回后面的值;所以 1&&3 結果是3

3||0,對於|| ,如果前面的值是真,那么后面的值是否是真、假不重要,所以返回前面的值,因為他才是重要的;所以 3||0 結果是 3

3 &&4 同理 3&&4 返回4;

綜上:第一行的數據返回結果是 4;

第二行:

1&&3 前面是真,重要的是后面的值,返回3;

0&&4 前面為假了,那么對於&&而言 后面是什么都不重要,因為都是假的,所以返回0;

3&&0 同理,返回3;

綜上:第二行的數據返回結果是 3;

第三行:

0&&3,返回0,&&運算而言 前面已經是假了,就返回了,即0;

1&&4,返回4,&&前面是真,還得看看后面的值,后面的值重要,因為他決定了 真假;

0||4,對應 || 前面是假了,后面的值就很重要了,后面的值決定了該條語句的真假,所以返回4;

綜上:第三行數據返回4;

 

弄懂了以上說的還應該知道:

      js的6個蛋蛋:在js邏輯運算中,0、”“、null、false、undefined、NaN都會判為false,其他都為true。

其實 II  && 常用來判斷當前獲取的值是否“有效”;比如表單驗證,

比如:

<form>
    <input type="text" name="username" id="username">
    <input type="password" name="password" id="password">
</form>
var username = $("#username").val()
var password = $("$password").val()
if(!!username ){
alert("請輸入用戶名")
}
if(!!password ){
alert("請輸入密碼")
}

但是大多數時候除了需要知道值的真假,還要賦值;如果是假,則賦值;所以 || 和&&特別重要。

var a = x || 0;

var b = parseInt(a);

在這種情況下,運算符就起到了特別大的作用,x=undefined,如果直接parseInt(x),就報錯了。。。。

 

 

 

 

本文參考地址:https://www.cnblogs.com/yuanxinghuo/p/7881366.html


免責聲明!

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



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