-
一元運算符
運算符 | 運用 | 釋義 |
---|---|---|
delete | delete person.name |
1.delete運算符刪除對自定義的對象屬性或方法的引用 2.不包括系統(tǒng)屬性和方法 3.刪除引用后的變量值將置為undefined |
void | void(name) |
1.void運算符對任何值返回 undefined 2.即經過void運算,返回的結果均為undefined |
前增 前減 |
++i;--i |
1.前增/前減運算發(fā)生在計算表達式之前 2.運算++i等同于i=i+1,前減類似 |
后增 后減 |
i++;i-- |
1.后增/后減運算發(fā)生在計算表達式之后 2.運算i++等同于i=i+1,后減類似 3.例: var i=2 則alert(++i) 的結果3,而alert(i++) 的結果為2 |
正號 負號 |
+2;-2 |
1.正號/負號表示值的正負 |
-
位運算符
- ECMAScript中整數有32個數位;
- 無符號整數,只有正數,范圍0~(2^32-1);
- 有符號整數,第32位為符號位,0表示正數,1表示負數,故范圍為-2^31~2^31;
- 正數存儲直接為:符號位+二進制碼;
- 負數存儲為:符號位+二進制補碼[正數的二進制碼取反碼(即0變1,1變0),然后加1];
- 所有整數字面量都默認存儲為有符號整數
- 所有的位運算均針對二進制進行運算
- ECMAScript中將其轉換為32位二進制進行計算
運算符 | 釋義 | 例如 |
---|---|---|
~ | not,按位取反 | 1.把運算數轉為32位二進制; 2.取其反碼; 3.轉換為進制值數; 4.公式:~a=-a-1 |
& | and,按位與運算 | 一零則零 |
| | or,按位或運算 | 一一則一 |
^ | 按位異或 | 相異則一 |
<< | 左移運算 | 按位左移,高位丟棄,低位補零 |
>> | 右移運算 | 按位右移,低位丟棄,高位補零(符號位不動) |
>>> | 無符號右移運算 | 按位右移,低位丟棄,高位補零(符號位移動) |
-
邏輯運算
運算符 | 釋義 | 例如 |
---|---|---|
! | 邏輯非,not,不存在 | 1.如果運算數是對象翔烁,返回 false 2.如果運算數是數字 0刃榨,返回 true 3.如果運算數是 0 以外的任何數字莺琳,返回 false 4.如果運算數是 null钟沛,返回 true 5.如果運算數是 NaN总放,返回 true 6.如果運算數是 undefined,發(fā)生錯誤 |
&& | 邏輯和,and,一零則零 | 1.如果一個運算數是對象拴鸵,另一個是 Boolean 值吩跋,返回該對象展融。 2.如果兩個運算數都是對象窖认,返回第二個對象。 3.如果某個運算數是 null告希,返回 null扑浸。 4.如果某個運算數是 NaN,返回 NaN燕偶。 5.如果某個運算數是 undefined喝噪,發(fā)生錯誤。 |
|| | 邏輯或,or,一一則一 | 1.如果一個運算數是對象指么,并且該對象左邊的運算數值均為 false酝惧,則返回該對象。 2.如果兩個運算數都是對象伯诬,返回第一個對象系奉。 3.如果最后一個運算數是 null,并且其他運算數值均為 false姑廉,則返回 null。 4.如果最后一個運算數是 NaN翁涤,并且其他運算數值均為 false桥言,則返回 NaN。 5.如果某個運算數是 undefined葵礼,發(fā)生錯誤号阿。 |
-
三位運算符
- 又叫條件運算符;
- 表達方式: 條件?成立則:否則;
- 例:(a>b)?a:b 若a>b成立返回a,否則返回b