亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

全部開發者教程

JavaScript 入門教程

JavaScript 邏輯運算符

邏輯運算符通常用于布爾型(邏輯)值。這種情況下,它們返回一個布爾值。然而,&& 和 || 運算符會返回一個指定操作數的值,因此,這些運算符也用于非布爾值。這時,它們也就會返回一個非布爾型值?!?MDN

邏輯運算符用于邏輯運算。如變量 num 要大于2同時也要小于 7,這里的同時就是一種邏輯運算。

JavaScript 中的邏輯運算有三種:

  • && 與 (并且)
  • || 或 (或者)
  • ! 非 (取反)

1. 與

語法:

表達式1 && 表達式2

如果表達式1的結果成立則返回表達式2的結果,否則返回表達式1的結果

與可以理解為且、并且、同時。與在 JavaScript 使用 && 表示。

true && true; // true
true && false; // false
false && true; // false
false && false; // false

與操作在左側的表達式結果為 true 或者可以隱式轉換為true的時候,會返回右側表達式結果,否則返回左側表達式結果。

如:判斷成績是否處于 80 到 100 之間。

80 到 100 之間換一種表述方式就是,成績大于等于 80 并且成績小于等于100,這種表述形式更像程序語言,所以條件就是分數 >= 80 并且 分數 <= 100

var score= 67;

if (score >= 80 && score <= 100) {
  console.log(score + '分在80到100之間');
} else {
  console.log(score + '分不在80到100之間');
}

if 語句中的條件左右都不滿足,所以返回了表達式 score >= 80 的結果false。

如果 score 為 90,則滿足兩個條件,返回右側表達式的結果。

2. 或

語法:

表達式1 || 表達式2

如果表達式1結果成立,則返回表達式 1 的結果,否則返回表達式 2 的結果

或就是或者。在 JavaScript 中使用 || 表示。

或操作符在當有表達式的結果為 true 或者可以隱式轉換為 true 的時候,就返回這個表達式的結果,如果沒有則返回右側表達式的結果。

true || true; // true
true || false; // true
false || true; // true
false || false; // false

如:判斷一個數能被 3 整除或者能被 5 整除。

能被 3 或者 5 整除的數,表述成類似于計算機語言的樣子就是某個數 % 3 === 0 或者 某個數 % 5 === 0

var number = 15;

if (number % 3 === 0 || number % 5 === 0) {
  console.log(number + '可以被3或5整除');
} else {
  console.log(number + '不可以被3或5整除');
}

// 輸出:15可以被3或5整除

3. 非

語法:

!表達式

非就是取反。表達式結果如果是布爾值,則會直接取反,結果如果不是布爾值,則會轉換成布爾值再取反。

取反即將 true 變成 false,或者將 false 變成 true

!true; // false
!false; // true

!0; // true
!''; // true

!1; // false

不僅在日常編碼中很常用到非,在許多代碼壓縮工作中也會用到非,如將 true 壓縮成 !0,false 壓縮成 !1,從 4 個字符和 5 個字符壓縮到 2 個字符。

4. 雙重非

雙重非就是使用兩個非,通常用于將一種數據類型轉換成布爾值。

!!1; // true

首先 !1 會得到結果 false,再通過 !false 就會得到結果 true

5. 短路邏輯

短路邏輯是一種邏輯運算符的求值策略,還可以稱作短路求值、最小化求值。

JavaScript 在進行與或計算的時候就會用到短路邏輯。

如:判斷一個數是 2 的倍數同時又是 5 的倍數。

var number = 7;

number % 2 === 0 && number % 5 === 0;

number 不滿足任意一個條件,&& 操作符碰到不成立的表達式就會直接返回這個表達式。

顯然 number % 2 === 0 就不成立,所以直接返回這個表達式的結果,這樣一個邏輯運算就已經得出結果了,JavaScript 不會再計算右側的表達式。

這就是短路邏輯,只要得出了結果,就不會再繼續計算。

6. 小結

JavaScript 中有與&&、或||、非!三種邏輯運算符,用于處理值之間的邏輯關系,當需要多個條件的相互關系來決定結果的時候,就會用到邏輯運算符。