什麼是運算符?
簡單的答案可以使用運算式4+5等於9。在這裏,4和5被稱為運算元;+被稱為運算符。 JavaScript語言支持下列類型的運算符。
-
算術運算符
-
比較運算符
-
邏輯(或關係)運算符
-
賦值運算符
-
有條件的(或三元)運算符
讓我們對所有運算符一個一個地來看看。
算術運算符:
JavaScript語言支持以下算術運算符:
假設變數A=10和變數B=20則:
運算符 | 描述 | 示例 |
---|---|---|
+ | 相加兩個運算元 | A + B = 30 |
- | 第一減去第二運算元 | A - B = -10 |
* | 相乘兩個運算元 | A * B = 200 |
/ | 通過分子除以分母 | B / A = 2 |
% | 模運算和整數除法後的餘 | B % A = 0 |
++ | 遞增操作,增加一個整數值 | A++ = 11 |
-- | 遞減操作,減少一個整數值 | A-- = 9 |
注:加法運算符(+)適用於數字和字串。例如“a”+10將會得到“a10”。
比較運算符:
JavaScript語言支持以下比較運算符
假設變數A=10和變數B=20則:
運算符 | 描述 | 示例 |
---|---|---|
== | 檢查兩個運算元的值是否相等,如果是的話那麼條件為真 | (A == B) 不為 true. |
!= | 檢查兩個運算元的值是否相等,如果值不相等,則條件變為真 | (A != B) 為 true. |
> | 檢查左邊的運算元的值是否大於右運算元的值,如果是的話那麼條件為真 | (A > B) 不為 true. |
< | 檢查左邊的運算元的值是否小於右運算元的值,如果是的話那麼條件為真 | (A < B) 為 true. |
>= | 檢查左邊的運算元的值是否大於或等於右運算元的值,如果是的話那麼條件為真 | (A >= B) 不為 true. |
<= | 檢查左邊的運算元的值是否小於或等於右運算元的值,如果是的話那麼條件為真 | (A <= B) 為 true. |
邏輯運算符:
JavaScript語言支持以下邏輯運算符
假設變數A=10和變數B=20則:
運算符 | 描述 | 示例 |
---|---|---|
&& | 所謂邏輯與操作。如果兩個運算元是非零那麼那麼的條件為true | (A && B) 為 true. |
|| | 所謂的邏輯或操作。如果任何兩個運算元都非零然後再條件變為true | (A || B) 為 true. |
! | 所謂邏輯非運算符。使用反轉運算元的邏輯狀態。如果條件為真,那麼邏輯非操作符的結果false | !(A && B) 為 false. |
位運算符:
JavaScript語言支持以下位運算符
假設變數A=2和變數B=3,則:
運算符 | 描述 | 示例 |
---|---|---|
& | 所謂的按位與操作。它執行其整數參數的每一位布爾與運算 | (A & B) = 2 . |
| | 所謂的按位或操作符。它執行其整數參數的每一位布爾或操作 | (A | B) = 3. |
^ | 所謂的按位異或運算符。它執行布爾異或運算,其整數參數的每個位。異或意味著一個運算元有一個為真或兩個運算元為true,但不能同時使用 | (A ^ B) = 1. |
~ | 所謂的按位非操作符。這是一個是一元運算符和操作由扭轉運算元的所有位 | (~B) = -4 . |
<< | 所謂的按位左移運算。它移動的所有位在其第一個運算元向左的第二個運算元指定的位數。新的位用零填充。移一個位置剩下的值等效於乘以2,移位兩個位置相當於乘以4 | (A << 1) = 4. |
>> | 所謂的按位右移帶符號的操作。它移動的所有位在其第一個運算元到右邊的第二個運算元指定的位數。在左邊填充在比特取決於原始運算元的符號位,在為了保持結果的符號。如果第一運算元是正的,其結果有放置在高比特零;如果第一運算元是負的,其結果有那些放置在高比特。移的值正確的地方,相當於除以2(舍去餘),右移兩個地方是相當於由4到整數除法,並依此類推 | (A >> 1) = 1. |
>>> | 所謂的按位右移零操作。操作符與>>操作一樣,所不同的是位移在左側總是零 | (A >>> 1) = 1. |
賦值運算符:
JavaScript語言支持以下賦值運算符:
運算符 | 描述 | 示例 |
---|---|---|
= | 簡單的賦值操作符,分配值從右邊的運算元左側的運算元 | C = A + B 將分配A + B 的值到 C |
+= | ADD和賦值運算符,它增加了右運算元左運算元和分配結果左運算元 | C += A 相等於 C = C + A |
-= | 減和賦值運算符,它減去右運算元從左側的運算元和分配結果左運算元 | C -= A 相等於 C = C - A |
*= | 乘法和賦值運算符,它乘以右邊的運算元與左運算元和分配結果左運算元 | C *= A 相等於 C = C * A |
/= | 相除賦值運算符,它把左運算元與右運算元和分配結果左運算元 | C /= A 相等於 C = C / A |
%= | 模量和賦值運算符,它需要使用兩個運算元的模量和分配結果左運算元 | C %= A 相等於 C = C % A |
注:同樣的邏輯也適用於位運算符,它們就如 <<=, >>=, >>=, &=, |= and ^=.
其他運算符
條件運算符 (? :)
有一種叫做條件運算符。根據第一計算運算式為真或假的值,然後執行根據計算結果來計算給定兩個陳述中的一個。條件操作符的語法如下:
運算符 | 描述 | 示例 |
---|---|---|
? : | 條件運算式 | 如果條件為 true ? 那麼為X值 : 否則為 Y值 |
typeof 運算符
typeof是一元運算符是放置其單個運算元之前,它可以是任何類型。它的值是一個字串,指示運算元的數據類型。
typeof運算符的計算結果為"number", "string", 或 "boolean",如果運算元是數字,字串或布爾值,並返回true或false的基礎上進行評估計算。下麵是typeof運算符返回值的列表:
類型 | 返回 typeof 的字串 |
---|---|
Number | "number" |
String | "string" |
Boolean | "boolean" |
Object | "object" |
Function | "function" |
Undefined | "undefined" |
Null | "object" |
上一篇:
JavaScript變數和數據類型
下一篇:
JavaScript if...else語句