JavaScript表達式和運算符 —— 基礎語法(4)

JavaScript基礎語法(4)

運算符

運算符用於將一 個或者多個值變成結果值。

使用運算符的值稱為操作數,運算符和操作數的組合稱為表達式

JS中的運算符可以分成下面幾類:

  1. 算術運算符
  2. 邏輯運算符
  3. 比較運算符
  4. 字元串運算符
  5. 位操作運算符
  6. 賦值運算符
  7. 條件運算符

一、算數運算符

算數運算符是最簡單,也是最常見的運算符,就是加減乘除…

運算符 表達式 說明 示例
+ 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

 

這裡可以參考進位與轉換:(嘿嘿,還沒寫,後續補上 (>~<)!!)

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為假

 

Tags: