JavaScript基礎語法(4)
運算子
運算子用于將一 個或者多個值變成結果值,
使用運算子的值稱為運算元,運算子和運算元的組合稱為運算式
JS中的運算子可以分成下面幾類:
- 算術運算子
- 邏輯運算子
- 比較運算子
- 字串運算子
- 位操作運算子
- 賦值運算子
- 條件運算子
一、算數運算子
算數運算子是最簡單,也是最常見的運算子,就是加減乘除...
| 運算子 | 運算式 | 說明 | 示例 |
| + | x + y | 回傳x加y的值 | x=5 + 2,結果為7 |
| - | x - y | 回傳x加y的值 | x=5 - 2,結果為3 |
| * | x * y | 回傳x乘以y的值 | x=5 * 2,結果為10 |
| / | x / y | 回傳x除以y的值(取商) | x=5 / 2,結果為2 |
| % | x % y | 回傳x除以y的模(取余) | x=5 % 2,結果為1 |
| ++ | x++; ++x | 回傳數值遞增;遞增并回傳數值 | 5++;++5,結果為5; 6 |
| -- | x--; --x | 回傳數值遞減;遞減并回傳數值 | 5--;--5,結果為5;4 |
這里注意:
- x++ 是將自身的值賦給變數,之后自身再加1;也就是先執行當前的代碼,完了之后加1,x--同理,
- ++x 是將自身+1 后的值賦給變數,同時自身加1;也就是先加1,然后執行后面的代碼,--x同理,
二、邏輯運算子
| 運算子 | 運算式 | 說明 | 示例 |
| && | 運算式1 && 運算式2 | 與,若2個運算式值都為true,回傳true,否則回傳false |
5>1 && 5<10 回傳true 5>1 && 5>10 回傳false |
| || | 運算式1 || 運算式2 | 或,若2個運算式值都為false,回傳false,否則回傳true |
5>1 || 5>10 回傳true 5<1 || 5>10 回傳false |
| ! | !運算式 | 非,若運算式值為false,回傳true,否則回傳false |
!(5>1) 回傳false !(5<1) 回傳true |
三、比較運算子
| 運算子 | 運算式 | 說明 | 示例 |
| == | 運算式1 == 運算式2 | 等于,判斷左右兩邊運算式是否相等 |
age == 18 //比較age是否等于18 |
| != | 運算式1 != 運算式2 | 不等于,判斷左右兩邊運算式是否不相等 |
age != 18 //比較age是否不等于18 |
| > | 運算式1 > 運算式2 | 大于,判斷左邊運算式是否大于右邊運算式 |
age > height //比較age是否大于height |
| < | 運算式1 < 運算式2 | 小于,判斷左邊運算式是否小于右邊運算式 |
age < height //比較age是否小于height |
| >= | 運算式1 >= 運算式2 | 大于等于,判斷左邊運算式是否大于等于右邊運算式 |
age >= height //比較age是否大于等于height |
| <= | 運算式1 <= 運算式2 | 小于等于,判斷左邊運算式是否小于等于右邊運算式 |
age <= height //比較age是否小于于等于height |
注意:
- 比較運算子的結果是布林值
- = 是賦值運算子,== 是比較運算子別弄混了,北冥曾弄混過,被老師扣分老慘(~.~)
四、字串連接符
就一個“+”,對兩個或者多個字串進行連接的操作,
var str1="beiming": var str2="love"; var str4=str1+str2 ;//結果為" beiminglove" var str5=str1+" "+str2 ;//結果為"beiming love" var a="5", b="20", c=a+b;//c 的結果為"520" var A=5,B=20,C=A+B;//C的結果為25
注意:當+號操作的是字串型時,表示鏈接字串,運算元值型時,做加法運算,
五、位運算子
位運算子,是對數值的二進制位進行操作,如做左移,右移等等,
| 運算子 | 運算式 | 說明 |
| & | 運算式1 & 運算式2 | 當兩個運算式的值都為true時回傳1,否則回傳0 |
| | | 運算式1 | 運算式2 | 當兩個運算式的值都為false時回傳0,否則回傳1 |
| ^ | 運算式1 ^ 運算式2 | 兩個運算式中有且只有一個為false時回傳1,否則回傳0 |
| << | 運算式1 << 運算式2 | 將運算式1向左移運算式2指定的位數 |
| >> | 運算式1 >> 運算式2 | 將運算式1向右移運算式2指定的位數 |
| >>> | 運算式1 >>> 運算式2 | 將運算式1向右移運算式2指定的位數,空位補0 |
| ~ | ~運算式 | 將運算式的值按二進制逐位取反 |
console.log(true & true);//結果:1 console.log(false | false);//結果:0 console.log(true ^ false);//結果:1
這里可以參考進制與轉換:https://www.cnblogs.com/beimingdaoren/p/12771047.html
console.log(1 >> 1); //這里我們以8bt為例,首位表符號(0表正數1表負數) //1的二進制原始碼為00000001,右移1位后:00000000,結果為0 console.log(1 << 1); //1的二進制原始碼為00000001,左移1位后:00000010,結果為2 console.log(2 >>> 1); //2的二進制原始碼為00000010,左移1位并且空位補0后:00000001,結果為1 //處理正數與>>差不多,但是處理負數時,使用補碼形式就有很大區別 console.log(~1); //1的原始碼:00000001,~逐位取反后:100000010,結果為~2 //位非運算實際上就是對數字進行取負運算,再減 1,
七、賦值運算子
| 運算子 | 運算式 | 說明 |
| = | 變數 = 運算式 | 將運算式值賦予變數 |
| += | 變數 += 運算式 | 將運算式值與變數值執行+加法操作后賦予變數 |
| -= | 變數 -= 運算式 | 將運算式值與變數值執行-減法操作后賦予變數 |
| *= | 變數 *= 運算式 | 將運算式值與變數值執行*乘法操作后賦予變數 |
| /= | 變數 /= 運算式 | 將運算式值與變數值執行/除法操作后賦予變數 |
| %= | 變數 %= 運算式 | 將運算式值與變數值執行%取余法操作后賦予變數 |
| <<= | 變數 <<= 運算式 | 對變數按運算式的值向左移 |
| >>= | 變數 >>= 運算式 | 對變數按運算式的值向右移 |
| >>>= | 變數 >>>= 運算式 | 對變數按運算式的值向右移,空位補0 |
| &= | 變數 &= 運算式 | 將運算式的值與變數執行&操作后賦予變數 |
| |= | 變數 |= 運算式 | 將運算式的值與變數執行|操作后賦予變數 |
| ^= | 變數 ^= 運算式 | 將運算式的值與變數執行^操作后賦予變數 |
八、條件運算子
條件運算子也叫三目運算子
語法:
條件運算式? 值1 : 值2;
例子:
console.log(2>1 ? "2>1為真" : "2<1位假");//結果:2>1為真 console.log(1>2 ? "1>2為真" : "1<2位假");//結果:1>2為假
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/111887.html
標籤:JavaScript
上一篇:如何匯入一個vue-cli專案
下一篇:陣列中的map方法
