Js 布爾值操作符 && 和 ||

來源:互聯網
上載者:User

標籤:解釋   書籍   就會   amp   define   設計   一個   布爾類型   邏輯   

  在js中,邏輯與(&&) 和 邏輯或(||)可以對任意的資料類型進行操作,而在進階程式設計中只給出了一系列的規則,並沒有進行解釋,所以經常記不住。在讀其它書籍的時候,讀到了它的原理,其實也很簡單,不過還是要記一下。

  邏輯與在對其它資料類型進行操作的時候,會對第一個運算元先進行布爾類型進行轉換,看看它是true,還是false, 如果是false的話,它就會返回第一個運算元,如果是true, 它就會對第二個操作符進行計算,返回第二個操作符,因為它是一種短路操作。

  如果第一個運算元是對象,它就會返回第二個運算元,因為,第一個運算元是對象,在進行布爾類型操作的時候,它永遠是true, 所以對第二個數進行操作,返回它。

  如果有一個運算元是null,undefined, NaN,則返回它們。

    如果第一個操作符是null, undefined, NaN, 對它們進行布爾類型轉換,是false, 根據短路原則,不用對第二個運算元進行操作,直接返回第一個運算元, 返回null, undefined,       NaN;   如果第二個運算元是null, undefined, NaN, 在第一個操作作是true的情況下,它自然會返回。

  邏輯或(||)的操作原理也是一樣,只不過,只要有一個是true, 它就返回true, 所以邏輯或在對其它資料類型進行操作的時候,只要第一個運算元進行布爾類型轉換的時候返回為true,就返回第一個運算元,否則返回第二個運算元,因為這也是短路操作。

  如果第一個運算元是對象,則返回第一個運算元,因為對象轉換為布爾值都是true,所以直接返回,不用對第二個運算元進行操作。

  如果兩個值都是null ,則返回null.  因為第一個運算元是null,它為false,會對第二個操作符,進行操作,然後返回。所以返回第二個運算元null.

  

  

Js 布爾值操作符 && 和 ||

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.