用表達式 4 + 5 能很快得到 4 和 5 這兩個數(shù)的和為 9。這里 4 和 5 被稱為運算數(shù),+ 叫做運算符。JaScript 語言支持以下類型的運算符:
讓我們依次看一下這些運算符。
JavaScript語言支持以下算術(shù)運算符:
給定 A=10,B=20,下面的表格解釋了這些算術(shù)運算符:
運算符 | 描述 | 例子 |
---|---|---|
+ | 兩個運算數(shù)相加 | A + B = 30 |
- | 第一個運算數(shù)減去第二個運算數(shù) | A - B = -10 |
* | 運算數(shù)相乘 | A * B = 200 |
/ | 分子除以分母 | B / A = 2 |
% | 模數(shù)運算符,整除后的余數(shù) | B % A = 0 |
++ | 增量運算符,整數(shù)值逐次加1 | A++ = 11 |
-- | 減量運算符,整數(shù)值逐次減1 | A-- = 9 |
注意 : + 運算符不僅可以用于數(shù)字相加,還可以用于把文本值或字符串變量加起來(連接起來)。例如,"a" + 10 = “a10”。
JavaScript語言支持以下比較運算符:
給定 A=10,B=20,下面的表格解釋了這些比較運算符:
運算符 | 描述 | 例子 |
---|---|---|
== | 檢查兩個運算數(shù)的值是否相等,如果是,則結(jié)果為true | A == B 為false |
!= | 檢查兩個運算數(shù)的值是否相等,如果不相等,則結(jié)果為true | A != B 為true |
> | 檢查左邊運算數(shù)是否大于右邊運算數(shù),如果是,則結(jié)果為true | A > B 為false |
< | 檢查左邊運算數(shù)是否小于右邊運算數(shù),如果是,則結(jié)果為true | A < B 為true |
>= | 檢查左邊運算數(shù)是否大于或者等于右邊運算數(shù),如果是,則結(jié)果為true | A >= B 為false |
<= | 檢查左邊運算數(shù)是否小于或者等于運算數(shù),如果是,則結(jié)果為true | A <= B 為true |
JavaScript語言支持以下邏輯運算符:
給定 A=10,B=20,下面的表格解釋了這些邏輯運算符:
運算符 | 描述 | 例子 |
---|---|---|
&& | 稱為邏輯與運算符。如果兩個運算數(shù)都非零,則結(jié)果為true。 | A && B 為true |
|| | 稱為邏輯或運算符。如果兩個運算數(shù)中任何一個非零,則結(jié)果為true。 | A || B 為 true |
! | 稱為邏輯非運算符。用于改變運算數(shù)的邏輯狀態(tài)。如果邏輯狀態(tài)為true,則通過邏輯非運算符可以使邏輯狀態(tài)變?yōu)閒alse | !(A && B) 為false |
JavaScript語言支持以下邏輯運算符:
給定 A=2,B=3,下面的表格解釋了這些邏輯運算符
運算符 | 描述 | 例子 |
---|---|---|
& | 稱為按位與運算符。它對整型參數(shù)的每一個二進制位進行布爾與操作。 | A & B = 2 . |
| | 稱為按位或運算符。它對整型參數(shù)的每一個二進制位進行布爾或操作。 | A | B = 3. |
^ | 稱為按位異或運算符。它對整型參數(shù)的每一個二進制位進行布爾異或操作。異或運算是指第一個參數(shù)或者第二個參數(shù)為true,并且不包括兩個參數(shù)都為true的情況,則結(jié)果為true。 | (A ^ B) = 1. |
~ | 稱為按位非運算符。它是一個單運算符,對運算數(shù)的所有二進制位進行取反操作。 | ~B = -4 . |
<< | 稱為按位左移運算符。它把第一個運算數(shù)的所有二進制位向左移動第二個運算數(shù)指定的位數(shù),而新的二進制位補0。將一個數(shù)向左移動一個二進制位相當(dāng)于將該數(shù)乘以2,向左移動兩個二進制位相當(dāng)于將該數(shù)乘以4,以此類推。 | A << 1 = 4. |
>> | 稱為按位右移運算符。它把第一個運算數(shù)的所有二進制位向右移動第二個運算數(shù)指定的位數(shù)。為了保持運算結(jié)果的符號不變,左邊二進制位補0或1取決于原參數(shù)的符號位。如果第一個運算數(shù)是正的,運算結(jié)果最高位補0;如果第一個運算數(shù)是負的,運算結(jié)果最高位補1。將一個數(shù)向右移動一位相當(dāng)于將該數(shù)乘以2,向右移動兩位相當(dāng)于將該數(shù)乘以4,以此類推。 | A >> 1 = 1. |
>>> | 稱為0補最高位無符號右移運算符。這個運算符與>>運算符相像,除了位移后左邊總是補0. | A >>> = 1. |
JavaScript語言支持以下賦值運算符:
運算符 | 描述 | 例子 |
---|---|---|
= | 簡單賦值運算符,將右邊運算數(shù)的值賦給左邊運算數(shù) | C = A + B 將A+B的值賦給C |
+= | 加等賦值運算符,將右邊運算符與左邊運算符相加并將運算結(jié)果賦給左邊運算數(shù) | C += A 相當(dāng)于 C = C + A |
-= | 減等賦值運算符,將左邊運算數(shù)減去右邊運算數(shù)并將運算結(jié)果賦給左邊運算數(shù) | C -= A 相當(dāng)于C = C - A |
*= | 乘等賦值運算符,將右邊運算數(shù)乘以左邊運算數(shù)并將運算結(jié)果賦給左邊運算數(shù) | C *= A 相當(dāng)于C = C * A |
/= | 除等賦值運算符, 將左邊運算數(shù)除以右邊運算數(shù)并將運算結(jié)果賦值給左邊運算數(shù) | C /= A 相當(dāng)于 C = C / A |
%= | 模等賦值運算符,用兩個運算數(shù)做取模運算并將運算結(jié)果賦值給左邊運算數(shù) | C %= A 相當(dāng)于 C = C % A |
注意:同樣的邏輯可以應(yīng)用到位運算符,因此就有<<= , >>= , >>>= , &= , |= 以及 ^= 。
有一種運算符叫條件運算符。首先判斷一個表達式是真或假,然后根據(jù)判斷結(jié)果執(zhí)行兩個給定指令中的一個。條件運算符語法如下:
運算符 | 描述 | 例子 |
---|---|---|
? : | 條件表達式 | 如果條件為真 ? X值 : Y值 |
typeof是一個置于單個參數(shù)之前的一元運算符,這個參數(shù)可以是任何類型的。它的值是一個表示運算數(shù)的類型的字符串。
typeof運算符可以判斷“數(shù)值”,“字符串”,“布爾”類型,看運算數(shù)是一個數(shù)字,字符串還是布爾值,并且根據(jù)判斷結(jié)果返回true或者false。
下表是typeof運算符的返回值:
類型 | Typeof返回字符串 |
---|---|
數(shù)值 | "number" |
字符串 | "string" |
布爾 | "boolean" |
對象 | "object" |
函數(shù) | "function" |
未定義 | "undefined" |
空 | "object" |
更多建議: