1. 程式人生 > >邏輯非(!)與(&&)或(||)

邏輯非(!)與(&&)或(||)

span fine 空字符 數值 操作 一個 邏輯與 如果 布爾值

邏輯非(

   如果一個操作數是一個對象,返回false;

  如果一個操作數是一個空字符串,返回true;

  如果一個操作數是一個非空字符串,返回false;

  如果一個操作數是一個數值0,返回true;

  如果一個操作數是任意的非零字符,返回false;

  如果一個操作數是null,返回true;

  如果一個操作數是NaN,返回true;

  如果一個操作數是undefined,返回true;

邏輯與(&&)

  (1)對於布爾值,邏輯與是非常簡單的,只要有一個false,就返回false;

  (2)對於不是布爾值的情況則:

  如果第一個操作數是對象,則返回第二個數

   如果第二個操作數是對象,則只有在第一個操作數的求值結果為true的情況下才會返回該對象;

  如果第兩個操作數都是對象,則返回第二個數操作數

   如果有一個操作數是null,則返回null

   如果有一個操作數是NaN,則返回第NaN

   如果第一個操作數是undefined,則返回undefined

邏輯或(||)

(1)對於布爾值,邏輯或是非常簡單的,只要有一個true,就返回true;

  (2)對於不是布爾值的情況則:

如果第一個操作數是對象,則返第一個操作數

如果第一個操作數的求值結果為false,則返回第二個操作數

如果兩個操作數都是對象,則返回第一個操作數

如果兩個操作數是null,則返回null

如果兩個操作數是NaN,則返回NaN

如果兩個操作數是undefined,則返回undefined

邏輯非(!)與(&&)或(||)