JavaScript 運算符主要包括:
算術運算符
| 運算符 | 說明 | 例子 | 運算結果 |
|---|---|---|---|
| + | 加 | y = 2+1 | y = 3 |
| - | 減 | y = 2-1 | y = 1 |
| * | 乘 | y = 2*3 | y = 6 |
| / | 除,返回結果為浮點類型 | y = 6/3 | y = 2 |
| % | 求餘,返回結果為浮點類型 要求兩個操作數均為整數 | y = 6%4 | y = 2 |
| ++ | 遞加,分為前加和後加 對布爾值和NULL 將無效 | y = 2 ++y(前加) y++(後加) | y = 3 |
| -- | 遞減,分為前遞減和後遞減 對布爾值和NULL 將無效 | y = 2 --y(前減) y--(後減) | y = 1 |
對於前加和後加,執行後的結果都是變量加1,其區別在於執行時返回結果不一樣,參考下面兩個例子:
複製代碼代碼如下:
var x = 2;
alert(++x);//輸出:3
alert(x);//輸出:3
var y = 2;
alert(y++);//輸出:2
alert(y);//輸出:3
遞減同理。
賦值運算符
賦值運算符= 用於賦值運算,賦值運算符的作用在於把右邊的值賦值給左邊變量。設定y = 6,參見下表:
| 運算符 | 例子 | 等價於 | 運算結果 |
|---|---|---|---|
| = | y = 6 | � | y = 6 |
| += | y += 1 | y = y+1 | y = 7 |
| -= | y -= 1 | y = y-1 | y = 5 |
| *= | y *= 2 | y = y*2 | y = 12 |
| /= | y /= 2 | y = y/2 | y = 3 |
| %= | y %= 4 | y = y%4 | y = 2 |
賦值運算符可以嵌套使用:
複製代碼代碼如下:
y = (x = 2) + 5; //結果: x=2,y=7
比較運算符
| 運算符 | 說明 | 例子 | 運算結果 |
|---|---|---|---|
| == | 等於 | 2 == 3 | FALSE |
| === | 恆等於(值和類型都要做比較) | 2 === 2 2 === "2" | TRUE FALSE |
| != | 不等於,也可寫作<> | 2 == 3 | TRUE |
| > | 大於 | 2 > 3 | FALSE |
| < | 小於 | 2 < 3 | TRUE |
| >= | 大於等於 | 2 >= 3 | FALSE |
| <= | 小於等於 | 2 <= 3 | TRUE |
比較運算符也可用於字符串比較。
三元運算符
三元可以視作是特殊的比較運算符:
複製代碼代碼如下:
(expr1) ? (expr2) : (expr3)
語法解釋:在expr1 求值為TRUE 時整個表達式的值為expr2,否則為expr3。
例子:
複製代碼代碼如下:
x = 2;
y = (x == 2) ? x : 1;
alert(y);//輸出:2
該例子判斷x 的值是否等於2,如果x 等於2,那麼y 的值就等於x(也就是等於2),反之y 就等於1。
為了避免錯誤,將三元運算符各表達式用括號括起來是個不錯的主意。
邏輯運算符
| 運算符 | 說明 | 例子 | 運算結果 |
|---|---|---|---|
| && | 邏輯與(and) | x = 2; y = 6; x && y > 5 | FALSE |
| || | 邏輯或(or) | x = 2; y = 6; x && y > 5 | TRUE |
| ! | 邏輯非,取邏輯的反面 | x = 2; y = 6; !(x > y) | TRUE |
字符串連接運算符
連接運算符+ 主要用於連接兩個字符串或字符串變量。因此,在對字符串或字符串變量使用該運算符時,並不是對它們做加法計算。
例子:
複製代碼代碼如下:
x = "beijing";
y = x + "你好!";//結果:y = "beijing你好!"
// 要想在兩個字符串之間增加空格,需要把空格插入一個字符串之中:
y = x + " 你好!";//結果:y = "beijing 你好!"
當對字符串和數字做連接(加法)運算時,會將數字先轉換成字符串再連接(相加):
複製代碼代碼如下:
x = 25;
y = "我今年" + x + "歲";//結果:y = "我今年25歲"