標籤:
一、 位元運算符
在一般的應用中,我們基本上用不到位元運算符。雖然,它比較基於底層,效能和速度會非常好,而就是因為比較底層,使用的難度也很大,底層運算是轉換成二進位進行運算的。
位元運算符有七種,分別是:位非 NOT(~)、位與 AND(&)、位或 OR(|)、位異或 XOR(^)、左移(<<)、有符號右移(>>)、無符號右移(>>>)。
var box = ~25; //-26var box = 25 & 3; //1var box = 25 | 3; //27var box = 25 << 3; //200var box = 25 >> 2; //6var box = 25 >>> 2; //6
二、賦值運算子
賦值運算子用等號(=)表示,就是把右邊的值賦給左邊的變數。
var box = 100; //把 100 賦值給 box 變數
複合賦值運算子通過 x=的形式表示,x 表示算術運算子及位元運算符。
var box = 100;box = box +100; //200,自己本身再加 100
這種情況可以改寫為:
var box = 100;box += 100; //200,+=代替 box+100
除了這種+=加/賦運算子,還有其他的幾種如下:
1.乘/賦(*=)
2.除/賦(/=)
3.模/賦(%=)
4.加/賦(+=)
5.減/賦(-=)
6.左移/賦(<<=)
7.有符號右移/賦(>>=)
8.無符號有移/賦(>>>=)
三、其他運算子
1.字串運算子:只有一個,即:"+"。它的作用是將兩個字串相加。規則:至少一個運算元是字串即可。
var box = ‘100‘ + ‘100‘; //100100var box = ‘100‘ + 100; //100100var box = 100 + 100; //200
2.逗號運算子:可以在一條語句中執行多個操作。
var box = 100, age = 20, height = 178; //多個變數聲明var box = (1,2,3,4,5); //5,變數聲明,將最後一個值賦給變數,不常用var box = [1,2,3,4,5]; //[1,2,3,4,5],數組的字面量聲明var box = { //[object Object],對象的字面量聲明 1 : 2, 3 : 4, 5 : 6 };
四、三元運算子:
其實就是 if 語句的簡寫形式。
var box = 5 > 4 ? ‘對‘ : ‘錯‘; //對,5>4 返回 true 則把‘對‘賦值給 box,反之。
相當於:
var box = ‘‘; //初始設定變數if (5 > 4) { //判斷運算式傳回值 box = ‘對‘; //賦值} else { box = ‘錯‘; //賦值}
四、運算子優先順序
在一般的運算中,我們不必考慮到運算子的優先順序,因為我們可以通過圓括弧來解決這種問題。比如:
var box = 5 - 4 * 8; //-27 var box = (5 - 4) * 8; //8
但如果沒有使用圓括弧強制優先順序,我們必須遵循以下順序:
JavaScript的位元運算符、賦值運算子、其他運算子、三元運算子、運算子優先順序