比較和邏輯運算符用來測試true或false 。
比較運算符
比較運算符在邏輯語句用來確定變量或值之間的平等或差異。
鑑於x = 5 ,下表說明了比較運算符:
操作者 | 描述 | 對比 | 返回 | 嘗試一下 |
---|---|---|---|---|
== | 等於 | x == 8 | false | 嘗試一下 ” |
x == 5 | true | 嘗試一下 ” | ||
x == "5" | true | 嘗試一下 ” | ||
=== | 同等價值和平等的類型 | x === 5 | true | 嘗試一下 ” |
x === "5" | false | 嘗試一下 ” | ||
!= | 不平等 | x != 8 | true | 嘗試一下 ” |
!== | 不等於價值或不等於類型 | x !== 5 | false | 嘗試一下 ” |
x !== "5" | true | 嘗試一下 ” | ||
x !== 8 | true | 嘗試一下 ” | ||
> | 比...更棒 | x > 8 | false | 嘗試一下 ” |
< | 少於 | x < 8 | true | 嘗試一下 ” |
>= | 大於或等於 | x >= 8 | false | 嘗試一下 ” |
<= | 小於或等於 | x <= 8 | true | 嘗試一下 ” |
它可以如何使用
比較運營商可以在條件語句中使用值進行比較,並根據結果採取行動:
if (age < 18) text = "Too young";
您將了解更多有關本教程的下一章使用條件語句。
邏輯運算符
邏輯運算符被用來確定變量或值之間的邏輯。
鑑於x = 6和y = 3 ,下表說明了邏輯運算:
操作者 | 描述 | 例 | 嘗試一下 |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | 嘗試一下 ” |
|| | or | (x == 5 || y == 5) is false | 嘗試一下 ” |
! | not | !(x == y) is true | 嘗試一下 ” |
條件(三元)運算符
的JavaScript還包含一個值分配給基於一些條件的變量的條件運算。
句法
variablename = ( condition ) ? value1 : value2
例
var
voteable = (age < 18) ? "Too young":"Old enough";
試一試» 如果變量年齡為18歲以下的值,變量voteable的值將是“太年輕”,否則voteable的值將是“老足夠”。
比較不同類型
比較不同類型的數據可能會出現意想不到的結果。
在比較了一些字符串,JavaScript的做比較時將字符串轉換為數字。 空字符串轉換為0的非數字字符串轉換成NaN這始終是假的。
案件 | 值 | 嘗試 |
---|---|---|
2 < 12 | true | 嘗試一下 ” |
2 < "12" | true | 嘗試一下 ” |
2 < "John" | false | 嘗試一下 ” |
2 > "John" | false | 嘗試一下 ” |
2 == "John" | false | 嘗試一下 ” |
"2" < "12" | false | 嘗試一下 ” |
"2" > "12" | true | 嘗試一下 ” |
"2" == "12" | false | 嘗試一下 ” |
當比較兩個串,“2”,將不是“12”時,因為(按字母順序)1小於2。
為了確保正確的結果,變量應該被轉換為適當的類型比較之前:
age = Number(age);
if (isNaN(age)) {
voteable = "Error in input";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}
試一試» JavaScript的位運算符
運營商位在32位的數字工作。
在操作任何數字操作數被轉換成一個32位的數字。
結果被轉換回一個JavaScript號碼。
操作者 | 描述 | 例 | 與...一樣 | 結果 | 十進制 |
---|---|---|---|---|---|
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
上述使用4位無符號的示例表。 但JavaScript使用32位有符號數。
正因為如此,在JavaScript中,〜5將不會返回10.它將返回-6:
〜00000000000000000000000000000101將返回11111111111111111111111111111010