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://zhidao.baidu.com/question/2118237346586349547.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM