此文章爲轉載,連接忘記了,轉載一下以備之後看看,是否徹底正確還沒有知 編碼
1.delete 刪除之前定義的對象屬性或方法引用 對象
2.void 運算符對任何值都返回undefined 字符串
3. ++ – 字符串處理
4.一元加法(+) 特殊做用:能夠將字符串轉換成數字,它計算字符串的方式與parseInt()類似,主要不一樣是隻有對以"0x"開頭的字符串,才把它轉換成十進制的值,所以 +"010" == 10;+"0xB" == 11; it
5.一元減法(-) 與加法類似 字符編碼
6.NOT(~) 引用
處理過程: 二進制
(1)把運算數字轉換成32位數字 方法
(2)把二進制形式轉換成它的二進制反碼 移動
(3)把二進制反碼轉換成浮點數
NOT實質是對數字求負而後減1
7.AND(&)
8.OR(|)
9.XOR(^) 當只有一個數位存放的是1時,它才返回1
egg:
———————————————-
第一個數字第二個數字結果
1 1 0
1 0 1
0 1 1
0 0 0
———————————————-
10.左移運算(<<)
11.右移運算(>>)
12.無符號右移(>>>)
對於正數而言與>>無區別,可是對於負數來說,負數會被轉換成正數處理,可是因爲符號位的移動,總會獲得一個很大的數字
13.Boolean運算符
1.邏輯Not
——————————-
運算數 結果
對象 false
數字0 true
數字0之外 false
null true
NaN true
undefined 發生錯誤
——————————-
2.邏輯And
———————————————-
運算數 結果
對象 && Boolean值 對象
兩個都是對象 第二個對象
某個是null null
某個是NaN NaN
某個是undefined 錯誤
———————————————-
3.邏輯Or
———————————————-
運算數 結果
對象 && Boolean值 對象
兩個都是對象 第一個對象
某個是null null
某個是NaN NaN
某個是undefined 錯誤
———————————————-
14.乘性運算符
1.乘法運算符
———————————————-
運算數 結果
某個是NaN NaN
Infinity乘以0 NaN
Infinity乘以0之外的數字 +-Infinity
Infinity乘以Infinity Infinity
———————————————-
2.除法運算符
———————————————-
運算數 結果
某個是NaN NaN
Infinity被Infinity除 NaN
Infinity被任何數除 Infinity
0除一個非無窮大的數 NaN
Infinity被0之外的任何數除 +-Infinity
———————————————-
15.加性運算符
常規:
———————————————-
運算數 結果
某個是NaN NaN
Infinity加上Infinity Infinity
-Infinity加上-Infinity -Infinity
Infinity加上-Infinity NaN
+0加上+0 +0
-0加上+0 +0
-0加上-0 -0
———————————————-
字符串處理:
———————————————-
運算數 結果
都是String 第二個字符串鏈接到第一個
只有一個String 轉換另外一個字符串拼接
對象、數值、布爾值 調用toString()
null、undefined 調用String()
———————————————-
16.減法
———————————————-
運算數 結果
某個是NaN NaN
Infinity減Infinity NaN
-Infinity減-Infinity NaN
Infinity減-Infinity Infinity
+0減+0 +0
+0減-0 -0
-0減-0 +0
一個數是字符串、布爾值、null、undefined則執行Number()轉換後進行計算
若是一個操做數是對象,則先調用對象的valueOf(),若是爲NaN則爲NaN,若是valueOf方法不存在,那麼調用toString()後再進行轉換
———————————————-
17.關係運算
———————————————-
若是兩個都是數字,執行數字比較
若是兩個都是字符串,比較字符編碼
若是一個是數字,另外一個是字符串,則字符串轉換爲數字進行比較
若是一個操數是對象,則調用這個對象的valueOf方法,若是沒有則調用toString方法進行轉換。
若是一個操做數是布爾值,則先將其轉換爲數字後進行比較。
任何操做數與NaN比較都返回false
———————————————-
18.相等操做符
兩個操做數不是同一個類型的狀況下的處理:
———————————————-
若是一個操做數是布爾值,則在比較的時候轉換成數值(false:0,true:1)
若是一個操做數是字符串,另外一個操做數是數字,則將字符串轉換成數字
若是一個操做數是對象,另外一個不是,則調用對象的valueOf()方法,用獲得的基本類型值按照前面的規則進行比較
這兩個操做符進行比較時則要遵循下列規則
1) null和undefined是相等的
2) 要比較相等性以前,不能將null和undefined轉換成其餘任何值
3) 若是一個操做數是NaN,則相等操做返回false,而不相等返回true。更重要的是NaN與NaN也不相等
4) 若是兩個操做數都是對象,則比較他們是否是同一個對象。若是兩個操做數指向的是同一個對象則返回true,不然返回false
undefined != 0 (Number(undefined) 爲NaN)
———————————————-
19.全等和不全等
———————————————-
只在兩個操做數不通過轉換就相等的狀況下返回true
———————————————-
20.條件操做符
var max = a > b ? a : b;
21.賦值操做符
var max = 1;
22.逗號操做符
var num1 = 1,num2 =2;
var num = (5,1,3,0);//結果爲0