一元運(yùn)算符巾遭,只需要一個(gè)操作數(shù)
+ 正號(hào)
- 正號(hào)不會(huì)對(duì)數(shù)字產(chǎn)生任何影響
- 負(fù)號(hào)
- 負(fù)號(hào)可以對(duì)數(shù)字進(jìn)行符號(hào)的取反
- 對(duì)于非Number類(lèi)型的值肉康,它會(huì)將先轉(zhuǎn)換為Number,然后再運(yùn)算
- 可以對(duì)一個(gè)其他的數(shù)據(jù)類(lèi)型使用+,來(lái)將其轉(zhuǎn)換為number灼舍,它的原理和Number()函數(shù)一樣
自增 ++
- 通過(guò)自增可以使變量在自身的基礎(chǔ)上增加1
- 對(duì)于一個(gè)變量自增以后吼和,原變量的值會(huì)立即自增1
- 自增分成兩種:后++(a++) 和 前++(++a)
無(wú)論是a++還是++a,都會(huì)立即使原變量的值自增1
不同的是a++和++a的值不同
a++的值等于原變量的值(自增前的值)
++a的值等于新值 (自增后的值)
//++放前面片仿,先自增纹安,后賦值
//++放后面,先賦值砂豌,后自增
//--放前面厢岂,先自減,后賦值
//--放后面阳距,先賦值塔粒,后自減
自減 --
- 通過(guò)自減可以使變量在自身的基礎(chǔ)上減1
- 自減分成兩種:后--(a--) 和 前--(--a)
無(wú)論是a--還是--a都會(huì)立即使原變量的值自減1
不同的是a-- 和 --a的值不同
a-- 是變量的原值 (自減前的值)
--a 是變量的新值 (自減以后的值)
++a? ? 加號(hào)在前先自增
a++? ? ? 加號(hào)在后先賦值
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è)值
&& || 非布爾值的情況
- 對(duì)于非布爾值進(jìn)行與或運(yùn)算時(shí),會(huì)先將其轉(zhuǎn)換為布爾值桨菜,然后再運(yùn)算豁状,并且返回原值
- 與運(yùn)算:
- 如果第一個(gè)值為true捉偏,則必然返回第二個(gè)值
- 如果第一個(gè)值為false,則直接返回第一個(gè)值
- 或運(yùn)算
- 如果第一個(gè)值為true泻红,則直接返回第一個(gè)值
- 如果第一個(gè)值為false告私,則返回第二個(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)算符
通過(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編碼
NaN與任何值比較剩彬,結(jié)果都是false
Unicode編碼:
在js中用編碼格式為:\u四位編碼
在網(wǎng)頁(yè)中編碼格式為:&#編碼
相等運(yùn)算符:用來(lái)比較兩個(gè)值是否相等酷麦,相等返回true,否則返回false(=為賦值喉恋,==為相等)
相等運(yùn)算:用==比較沃饶;若兩值類(lèi)型不同會(huì)自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換
不相等運(yùn)算:用!=比較轻黑;也會(huì)自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換
全等運(yùn)算:用===判斷糊肤;不會(huì)做自動(dòng)的類(lèi)型轉(zhuǎn)換,若兩值類(lèi)型不同則直接返回false
不全等運(yùn)算:用氓鄙!==判斷馆揉;不會(huì)做自動(dòng)的類(lèi)型轉(zhuǎn)換,若兩值類(lèi)型不同則直接返回true
條件運(yùn)算符(也叫三元運(yùn)算符):
語(yǔ)法:條件表達(dá)式抖拦?語(yǔ)句1:語(yǔ)句2;
執(zhí)行的流程:首先對(duì)表達(dá)式進(jìn)行求值升酣,若該值為true,則執(zhí)行語(yǔ)句1态罪;若false噩茄,則執(zhí)行語(yǔ)句2
若表達(dá)式求值結(jié)果為非布爾值,會(huì)將其轉(zhuǎn)換為布爾值然后再運(yùn)算
{var max = a>b ? a : b;
max = max>c ? max : c;
console.log("max=" + max);}----->求三個(gè)數(shù)中的最大值
運(yùn)算符的優(yōu)先級(jí):
1:.复颈、[]绩聘、 new
2:()
3:++、 --
4:!券膀、~君纫、+(單目)驯遇、-(單目)芹彬、typeof、void叉庐、delete
5:%舒帮、*、/
6:+(雙目)、-(雙目)
7:<< 玩郊、 >>肢执、 >>>
8:<、<=译红、>预茄、>=
9:==、!==侦厚、===
10:&
11:^
12:|
13:&&
14:||
15:?:
16:=耻陕、+=、-=刨沦、*=诗宣、/=、%=想诅、<<=召庞、>>=、>>>=来破、&=篮灼、^=、|=
17:,
“徘禁,”可以分割多個(gè)語(yǔ)句穿稳,一般在聲明多個(gè)變量時(shí)使用
作者:繁笙_f3a8
鏈接:http://www.reibang.com/p/0aea334e730b
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)晌坤,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處逢艘。