第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

JavaScript 入門教程

JavaScript 邏輯運(yùn)算符

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

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

JavaScript 中的邏輯運(yùn)算有三種:

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

1. 與

語(yǔ)法:

表達(dá)式1 && 表達(dá)式2

如果表達(dá)式1的結(jié)果成立則返回表達(dá)式2的結(jié)果,否則返回表達(dá)式1的結(jié)果

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

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

與操作在左側(cè)的表達(dá)式結(jié)果為 true 或者可以隱式轉(zhuǎn)換為true的時(shí)候,會(huì)返回右側(cè)表達(dá)式結(jié)果,否則返回左側(cè)表達(dá)式結(jié)果。

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

80 到 100 之間換一種表述方式就是,成績(jī)大于等于 80 并且成績(jī)小于等于100,這種表述形式更像程序語(yǔ)言,所以條件就是分?jǐn)?shù) >= 80 并且 分?jǐn)?shù) <= 100。

var score= 67;

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

if 語(yǔ)句中的條件左右都不滿足,所以返回了表達(dá)式 score >= 80 的結(jié)果false。

如果 score 為 90,則滿足兩個(gè)條件,返回右側(cè)表達(dá)式的結(jié)果。

2. 或

語(yǔ)法:

表達(dá)式1 || 表達(dá)式2

如果表達(dá)式1結(jié)果成立,則返回表達(dá)式 1 的結(jié)果,否則返回表達(dá)式 2 的結(jié)果

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

或操作符在當(dāng)有表達(dá)式的結(jié)果為 true 或者可以隱式轉(zhuǎn)換為 true 的時(shí)候,就返回這個(gè)表達(dá)式的結(jié)果,如果沒(méi)有則返回右側(cè)表達(dá)式的結(jié)果。

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

如:判斷一個(gè)數(shù)能被 3 整除或者能被 5 整除。

能被 3 或者 5 整除的數(shù),表述成類似于計(jì)算機(jī)語(yǔ)言的樣子就是某個(gè)數(shù) % 3 === 0 或者 某個(gè)數(shù) % 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. 非

語(yǔ)法:

!表達(dá)式

非就是取反。表達(dá)式結(jié)果如果是布爾值,則會(huì)直接取反,結(jié)果如果不是布爾值,則會(huì)轉(zhuǎn)換成布爾值再取反。

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

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

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

!1; // false

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

4. 雙重非

雙重非就是使用兩個(gè)非,通常用于將一種數(shù)據(jù)類型轉(zhuǎn)換成布爾值。

!!1; // true

首先 !1 會(huì)得到結(jié)果 false,再通過(guò) !false 就會(huì)得到結(jié)果 true。

5. 短路邏輯

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

JavaScript 在進(jìn)行與或計(jì)算的時(shí)候就會(huì)用到短路邏輯。

如:判斷一個(gè)數(shù)是 2 的倍數(shù)同時(shí)又是 5 的倍數(shù)。

var number = 7;

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

number 不滿足任意一個(gè)條件,&& 操作符碰到不成立的表達(dá)式就會(huì)直接返回這個(gè)表達(dá)式。

顯然 number % 2 === 0 就不成立,所以直接返回這個(gè)表達(dá)式的結(jié)果,這樣一個(gè)邏輯運(yùn)算就已經(jīng)得出結(jié)果了,JavaScript 不會(huì)再計(jì)算右側(cè)的表達(dá)式。

這就是短路邏輯,只要得出了結(jié)果,就不會(huì)再繼續(xù)計(jì)算

6. 小結(jié)

JavaScript 中有與&&、或||、非!三種邏輯運(yùn)算符,用于處理值之間的邏輯關(guān)系,當(dāng)需要多個(gè)條件的相互關(guān)系來(lái)決定結(jié)果的時(shí)候,就會(huì)用到邏輯運(yùn)算符。