在JavaScript中“&&”和“||”是邏輯運算符;“&”和“|”是位運算符。
四個運算符主要區別是運算方法不一樣:
1、JavaScript中的位運算符:“&”
運算方法:兩個數值的個位分別相與,同時爲1才得1,只要一個爲0就爲0。
舉個例子:
31&2 結果爲2
理由:31的二進制爲11111,2的二進制爲10 11111&00010的結果爲00010,即2
控制檯運行結果:
2、JavaScript中的位運算符:“|”
運算方法:
兩個位只要有一個爲1,那麼結果都爲1。否則就爲0
舉個例子:
31|2 結果爲31 31的二進制爲11111,2的二進制爲10 11111|00010的結果爲11111,即31
控制檯運行結果:
3、JavaScript中的邏輯運算符“&&”
運算方法:
只要“&&”前面是false,無論“&&”後面是true還是false,結果都將返“&&”前面的值;
只要“&&”前面是true,無論“&&”後面是true還是false,結果都將返“&&”後面的值;
例子:1&&3 爲3,1&&0爲0,控制檯運行結果如下:
4、JavaScript中的邏輯運算符“||”
運算方法:
只要“||”前面爲false,不管“||”後面是true還是false,都返回“||”後面的值。
只要“||”前面爲true,不管“||”後面是true還是false,都返回“||”前面的值。
例子:3||1爲3,3||0爲3,0||3爲3 控制檯運行結果如下:
擴展資料:
在JavaScript邏輯運算中
0、”“、null、false、undefined、NaN都會判爲false,其他都爲true。
舉個例子:null && 1 結果爲null
控制檯運行結果如下:
JavaScript中的邏輯運算除了&& 和 || 外,還有邏輯非(!)
邏輯非(!)的判斷邏輯如下:
如果一個操作數是一個對象,返回false;
如果一個操作數是一個空字符串,返回false;
如果一個操作數是一個非空字符串,返回false;
如果一個操作數是一個數值0,返回true;
如果一個操作數是任意的非零字符,返回false;
如果一個操作數是null,返回true;
如果一個操作數是NaN,返回true;
如果一個操作數是undefined,返回true;
轉載: https://blog.csdn.net/weixin_30810583/article/details/99949923