JavaScript 運算符知識點整理

算數運算符

算數運算符 描述
+
*
/
% 取餘
+ + 累加
- - 遞減
  • i ++++ i 的區別
    i ++:先賦值後計算,
    ++ i:先計算後賦值。
var i= 1;
var s = i ++ + ++ i;
for(var a = 0;a < 100;a ++)
{
	i = i ++;
};
console.log(i);

問上題 i 的結果
第一步:i = 1
第二步:s = i ++ + ++i;其中 i++i = 2,其次 ++ii = 3
第三步:循環100次的 i = i ++;每一次循環 i ++ 先賦值給 i ,在進行自加,所以 i 的結果不變,i = 3;
則本題結果i= 3;

算數運算符的優先級:
* / %+ -


邏輯運算符

邏輯運算符 描述
丨丨 或 (一真爲真)
&& 且(一假爲假)

算數運算符

算數運算符 描述 結果
+ = x + = y x = x + y
-= x-= y x = x - y
* = x * = y x = x * y
/ = x+= y x = x / y
% = x %= y x = x % y
var x = 5;
var y = 6;
x += y;
console.log(x);

上題中聲明瞭兩個變量x , y,當x += y時,即x = x + y,則輸出x = 11


三元運算符

三元運算符需要三個操作數。

語法爲:條件表達式?表達式1:表達式2。

條件表達式:執行判斷,返回布爾值;
表達式1:返回結果爲:true 執行的內容;
表達式2:返回結果爲:false 執行的內容(可嵌套三元運算符)。

var score = 80;
var result = score >= 90 ? "優秀" : score >= 60 ? "及格" : "不及格"
console.log(result);

上題中判斷得分是否爲優秀,及格或者不及格,首先判斷score >= 90,返回false。則再次判斷score >= 60,返回爲true,則輸出及格。


位運算符

按位與

&
二進制對應都爲1的時,則該位的結果爲1,反之爲0。

var num1 = 5;
var num2 = 3;
var r = num1 & num2;
console.log(r);
5:101
3:011
--------
r:001	1

可用於判斷奇偶性

console.log( (10 & 1) === 0 );//true偶數
console.log( (9 & 1) === 0 );//false奇數

按位或

|
二進制對應存在1的時,則該位的結果爲1,反之爲0。

var num1 = 5;
var num2 = 3;
var r = num1 & num2;
console.log(r);
5:101
3:011
--------
r:111	7

可用於與0按位或向下取整。

按位左移

<<

二進制向左移動N位,右邊以0補位。

console.log(2 << 1);// 4
console.log(2 << 2);// 8
console.log(2 << 3);// 16
console.log(2 << 4);// 32

按位右移

>>
二進制向右移動N位,左邊邊以0補位。

console.log(8 >> 1);//4
console.log(8 >> 2);//2
console.log(8 >> 3);//1
console.log(8 >> 4);//0

異或

^
二進制對應只存在一個1的時,則該位的結果爲1,反之爲0。

var num1 = 5;
var num2 = 3;
r = num1 ^ num2
console.log(r);
5:101
3:011
---------------
r:110	6

可用於num1num2值得交換。

num1 = num1 ^ num2;
   5: 101
   3: 011
------------
num1: 110    6
num2 = num2 ^ num1;
	    3:011
	    6:110
	  ----------
 	num2: 101   5 
num1 = num1 ^ num2;	  
		6:110
		5:101
	   ----------
	num1: 011    3	  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章