JS中的“&&”與“&”和“||”“|”有什麼區別?

在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章