運算符也叫操作符,通過運算符可以對一個或多個值進行運算並獲取運算結果。
比如:typeof就是運算符,可以來獲得一個值的類型,它會將該值的類型以字符串的形式返回(number string boolean undefined object)
1、算術運算符
算術運算符用於表達式計算。
y=5,
+ 加法 x=y+2
- 減法 x=y-2
* 乘法 x=y*2
/ 除法 x=y/2
% 取模(求餘數) x=y%2
++ 自增
x=++y
x=y++ 6
– 自減
x=–y
x=y– 4
2、關係運算符
關係運算符在邏輯語句中使用,以測定變量或值是否相等。
x=5,
> 大於 x>8
< 小於 x<8
>= 大於或等於 x>=8
<= 小於或等於 x<=8
2.5.3、賦值運算符
賦值運算符用於給 JavaScript 變量賦值。
x=10 和 y=5,
= x=y x=5
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
%= x%=y x=x%y
4、邏輯運算符
邏輯運算符用於測定變量或值之間的邏輯。
給定 x=6 以及 y=3,
&& and (x < 10 && y > 1) 為 true
|| or (x==5 || y==5) 為 false
! not !(x==y) 為 true
關於邏輯運算符我們可以具體探討一下:
&& 與:&&可以對符號兩側的值進行與運算並返回結果,運算規則如下:
兩個值中只要有一個值為false,就返回false,只有兩個值都為true時,才會返回true
JS中的“與”屬於短路的與,如果第一個值為false,則不會檢查第二個值
非布爾值時:如果兩個都為true,則返回第二個值,如果兩個值中有false,則返回靠前的false的值
|| 或:||可以對符號兩側的值進行或運算並返回結果,運算規則如下:
兩個值中只要有一個true,就返回true,只有兩個值都為false,才會返回false
JS中的“或”屬於短路的或,如果第一個值為true,則不會檢查第二個值
非布爾值時:如果兩個都為false ,則返回第二個值,如果兩個值中有true,則返回靠前的true的值
! 非:!可以用來對一個值進行非運算,所謂非運算就是對一個布爾值進行取反操作,true變false,false變true,運算規則如下:
如果對一個值進行兩次取反,它不會變化
非布爾值時:先會將其轉換為布爾值,然後再取反,所以我們可以利用該特點,來將一個其它的數據類型轉換為布爾值,可以為一個任意數據類型取兩次反,來將其轉換為布爾值,原理和Boolean()函數一樣
5、比較運算符
比較運算符用來比較兩個值是否相等,如果相等會返回true,否則返回false。
使用 == 來做相等運算
當使用==來比較兩個值時,如果值的類型不同,則會自動進行類型轉換,將其轉換為相同的類型,然後在比較
使用 != 來做不相等運算
不相等用來判斷兩個值是否不相等,如果不相等返回true,否則返回false,不相等也會對變量進行自動的類型轉換,如果轉換後相等它也會返回false
使用 === 來做全等運算
用來判斷兩個值是否全等,它和相等類似,不同的是它不會做自動的類型轉換,如果兩個值的類型不同,直接返回false
使用 !== 來做不全等運算
用來判斷兩個值是否不全等,它和不等類似,不同的是它不會做自動的類型轉換,如果兩個值的類型不同,直接返回true
6、條件運算符
JavaScript 還包含了基於某些條件對變量進行賦值的條件運算符。
語法:variablename=(condition)?value1:value2;
舉例:result=(age<18)?"年齡太小":"年齡合適";
執行流程:如果condition為true,則執行語句1,並返回執行結果,如果為false,則執行語句2,並返回執行結果。
7、逗號運算符
使用逗號可以在一條語句中執行多次操作。
比如:var num1=1, num2=2, num3=3;
使用逗號運算符分隔的語句會從左到右順 序依次執行。