說來慚愧,js基本的與或運算都沒掌握完全,下面說一下與或運算的結果
與運算有可能返回五種結果,true、false、null、nan、undefined
運算規則如下
1.與運算所有項為true情況下,返回最後乙個值,注意是值,並不是true
let a = 11;
let b = 'www';
let c = false;
let d = true;
a && b; //www
a && b && c; //true
c && a; //11
2.與運算有false時返回第乙個false,這裡的false包括(0、false、null、nan、undefined)
null && false; //null
false && null; //false
nan && null; //nan
或運算同樣可能返回五種結果,true、false、null、nan、undefined
1.有一項不為false時返回第乙個不為false的值
nan || 1; //1
'str' || null; //str
false || null || 0 || 'a';//a
2.當全部為false時返回最後乙個為false的值,這裡的false包括(0、false、null、nan、undefined)
null || false; //false
false || null; //null
nan || null || 0; //0
以上是與或運算的規則
與或可以判斷真假,同時也能保證取值的安全性,尤其在取物件的值是
let obj = ;
let num = obj && obj.a;
//如果obj.a不存在時也不會報錯
(與運算) (或運算) (異或運算)
即 兩個運算元同為 1 的時候為1 0 0 0 1 0 1 0 1 1 1 1 1 即 兩個運算元中至少有乙個為 1 的時候為1 0 0 0 0 1 1 1 0 1 1 1 0 即 兩個運算元不同的時候為1 運算規則 1 0 0 1 即 對乙個二進位制數按位取反,即將0變1,1變0。將乙個運算物件的...
與運算( ) 或運算( ) 異或運算( )
預算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩個同時為1,結果為1,否則為0 例如 3 5 十進位制3轉為二進位制的3 0000 0011 十進位制5轉為二進位制的5 0000 0101 結果 0000 0001 轉為十進位制 1 即 3 5 1 運算規則 0 0 0 0 1 1 ...
與運算( ) 或運算( ) 異或運算( )
一 與運算子 預算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩個同時為1,結果為1,否則為0 例如 3 5 十進位制3轉為二進位制的3 0000 0011 十進位制5轉為二進位制的5 0000 0101 結果 0000 0001 轉為十進位制 1 即 3 5 1 二 或運算 運算規則...