在javascript中:
以下內容會被當成false處理:"" , false , 0 , null , undefined , NaN
其他都是true。注意:字符串"false"也會被當做true處理,在未轉型的情況下他是字符串,屬于一個對象,所以是true。
所以:
a || b:如果a是true,那么b不管是true還是false,都返回true。因此不用判斷b了,這個時候剛好判斷到a,因此返回a。
如果a是false,那么就要判斷b,如果b是true,那么返回true,如果b是false,返回false,其實不就是返回b了嗎。
a && b:如果a是false,那么b不管是true還是false,都返回false,因此不用判斷b了,這個時候剛好判斷到a,因此返回a。
如果a是true,那么就要在判斷b,和剛剛一樣,不管b是true是false,都返回b。