JS中為我們提供了三種邏輯運(yùn)算符:
! 非:!可以用來對(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),來將一個(gè)其他的數(shù)據(jù)類型轉(zhuǎn)換為布爾值
可以為一個(gè)任意數(shù)據(jù)類型取兩次反假丧,來將其轉(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è)值
賦值運(yùn)算符:
= 可以將符號(hào)右側(cè)的值賦值給符號(hào)左側(cè)的變量
+= a += 5 等價(jià)于 a = a + 5
-= a -= 5 等價(jià)于 a = a - 5
*= a *= 5 等價(jià)于 a = a5
/= a /= 5 等價(jià)于 a = a / 5
%= a %= 5 等價(jià)于 a = a % 5
通過關(guān)系運(yùn)算符可以比較兩個(gè)值之間的大小關(guān)系谋梭,如果關(guān)系成立它會(huì)返回true信峻,如果關(guān)系不成立則返回false
> 大于號(hào)
>= 大于等于
< 小于號(hào)
<= 小于等于
相等運(yùn)算符用來比較兩個(gè)值是否相等,如果相等會(huì)返回true瓮床,否則返回false
使用 == 來做相等運(yùn)算:當(dāng)使用==來比較兩個(gè)值時(shí)盹舞,如果值的類型不同,則會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換纤垂,將其轉(zhuǎn)換為相同的類型矾策,然后再比較
不相等:不相等用來判斷兩個(gè)值是否不相等,如果不相等返回true峭沦,否則返回false
使用 != 來做不相等運(yùn)算贾虽,不相等也會(huì)對(duì)變量進(jìn)行自動(dòng)的類型轉(zhuǎn)換,如果轉(zhuǎn)換后相等它也會(huì)返回false
===全等:用來判斷兩個(gè)值是否全等吼鱼,它和相等類似蓬豁,不同的是它不會(huì)做自動(dòng)的類型轉(zhuǎn)換
如果兩個(gè)值的類型不同,直接返回false
!==不全等:用來判斷兩個(gè)值是否不全等菇肃,和不等類似地粪,不同的是它不會(huì)做自動(dòng)的類型轉(zhuǎn)換
如果兩個(gè)值的類型不同,直接返回true