?????????????????????????????????????????????邏輯運(yùn)算符
JS中為我們提供了三種邏輯運(yùn)算符
! 非
- !可以用來(lái)對(duì)一個(gè)值進(jìn)行非運(yùn)算
- 所謂非運(yùn)算就是值對(duì)一個(gè)布爾值進(jìn)行取反操作,
true變false,false變true
- 如果對(duì)一個(gè)值進(jìn)行兩次取反,它不會(huì)變化
- 如果對(duì)非布爾值進(jìn)行元素,則會(huì)將其轉(zhuǎn)換為布爾值,然后再取反
所以我們可以利用該特點(diǎn),來(lái)將一個(gè)其他的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為布爾值
可以為一個(gè)任意數(shù)據(jù)類(lèi)型取兩次反,來(lái)將其轉(zhuǎn)換為布爾值,原理和Boolean()函數(shù)一樣
&& 與
- &&可以對(duì)符號(hào)兩側(cè)的值進(jìn)行與運(yùn)算并返回結(jié)果
- 運(yùn)算規(guī)則
- 兩個(gè)值中只要有一個(gè)值為false就返回false,
只有兩個(gè)值都為true時(shí),才會(huì)返回true
- JS中的“與”屬于短路的與,
如果第一個(gè)值為false,則不會(huì)看第二個(gè)值
|| 或
- ||可以對(duì)符號(hào)兩側(cè)的值進(jìn)行或運(yùn)算并返回結(jié)果
- 運(yùn)算規(guī)則:
- 兩個(gè)值中只要有一個(gè)true,就返回true
如果兩個(gè)值都為false,才返回false
- JS中的“或”屬于短路的或
如果第一個(gè)值為true,則不會(huì)檢查第二個(gè)值
..........................................................................................................................................................
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 關(guān)系運(yùn)算符
通過(guò)關(guān)系運(yùn)算符可以比較兩個(gè)值之間的大小關(guān)系,
如果關(guān)系成立它會(huì)返回true,如果關(guān)系不成立則返回false
> 大于號(hào)
- 判斷符號(hào)左側(cè)的值是否大于右側(cè)的值
- 如果關(guān)系成立,返回true,如果關(guān)系不成立則返回false
>= 大于等于
- 判斷符號(hào)左側(cè)的值是否大于或等于右側(cè)的值
< 小于號(hào)
<= 小于等于
非數(shù)值的情況
- 對(duì)于非數(shù)值進(jìn)行比較時(shí),會(huì)將其轉(zhuǎn)換為數(shù)字然后再比較
- 如果符號(hào)兩側(cè)的值都是字符串時(shí),不會(huì)將其轉(zhuǎn)換為數(shù)字進(jìn)行比較,而會(huì)分別比較字符串中字符的Unicode編碼
..........................................................................................................................................................
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?相等運(yùn)算符
相等運(yùn)算符用來(lái)比較兩個(gè)值是否相等,
如果相等會(huì)返回true,否則返回false
使用 == 來(lái)做相等運(yùn)算
- 當(dāng)使用==來(lái)比較兩個(gè)值時(shí),如果值的類(lèi)型不同,則會(huì)自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換,將其轉(zhuǎn)換為相同的類(lèi)型,然后再比較
不相等
不相等用來(lái)判斷兩個(gè)值是否不相等,如果不相等返回true,否則返回false
- 使用 != 來(lái)做不相等運(yùn)算
- 不相等也會(huì)對(duì)變量進(jìn)行自動(dòng)的類(lèi)型轉(zhuǎn)換,如果轉(zhuǎn)換后相等它也會(huì)返回false
===
全等
- 用來(lái)判斷兩個(gè)值是否全等,它和相等類(lèi)似,不同的是它不會(huì)做自動(dòng)的類(lèi)型轉(zhuǎn)換
如果兩個(gè)值的類(lèi)型不同,直接返回false
!==
不全等
- 用來(lái)判斷兩個(gè)值是否不全等,和不等類(lèi)似,不同的是它不會(huì)做自動(dòng)的類(lèi)型轉(zhuǎn)換
如果兩個(gè)值的類(lèi)型不同,直接返回true
..........................................................................................................................................................
? ?????????????????????????????????條件運(yùn)算符
條件運(yùn)算符也叫三元運(yùn)算符
語(yǔ)法:
條件表達(dá)式?語(yǔ)句1:語(yǔ)句2;
- 執(zhí)行的流程:
條件運(yùn)算符在執(zhí)行時(shí),首先對(duì)條件表達(dá)式進(jìn)行求值,
如果該值為true,則執(zhí)行語(yǔ)句1,并返回執(zhí)行結(jié)果
如果該值為false,則執(zhí)行語(yǔ)句2,并返回執(zhí)行結(jié)果
如果條件的表達(dá)式的求值結(jié)果是一個(gè)非布爾值,會(huì)將其轉(zhuǎn)換為布爾值然后在運(yùn)算
.....................................................................................................................................
????????????????????????????????????????????????????運(yùn)算符的優(yōu)先級(jí)
, 運(yùn)算符
使用,可以分割多個(gè)