JS中&&與||

JavaScript中邏輯與&&和邏輯或||能夠用於任何數據類型,而不只是布爾值。spa

幾乎全部語言中||和&&都遵循「短路」原理, 如&&中第一個表達式爲假就不會去處理第二個表達式,而||正好相反。js一樣也遵循上述原則:code

  • 當邏輯或||時,找到爲true的分項就中止處理,並返回該分項的值,不然執行完,並返回最後分項的值。
  • 當邏輯與&&時,找到爲false的分項就中止處理,並返回該分項的值。
var a = "" || null || 3 || 4; //3
var b = 3 && null && 4 && ""; //null

var c = (3 || null ) && 5 && 6; //6
var d = (3 && "") || 15 || null; //15

 

js中,如下值被看成假(false):對象

  • false
  • null
  • undefined
  • 空字符串''
  • 數字0
  • 數字NaN

其餘全部值都被當作真,包括true、字符串"false",以及全部的對象。blog

相關文章
相關標籤/搜索