1,一元操做符 :var num =25 num = +num; num//25 一元操做符進行數據轉換 像用的是Number轉換 減號操做符則是 轉換成負數;對象
2,按位非(~):var num = 25 ;var num1 = ~num; num//-26;本質是 數值的相反數減一;計算方式是 二進制 取反 最高爲保持不變最高位是符號位 而後加1獲得的結果字符串
按位與(&)兩個數值的二進制 進行按位與操做的到的結果string
按位或(|)兩個數值的二進制進行按位或的操做的獲得的結果it
按位異或(^)兩個數值的二進制 的對應位上只有一個1纔會返回1 若是對應爲都是1或者是0則返回0二進制
左移(<<) 最高一位表明符號位,以31位,向左移位 空白以0填充;最高一位表示符號位 左移不會影響符號位 右移相反方法
右移 向右移動 空白以0填充 最高一位表明符號位im
無符號移動(>>>或<<<)以32位移動數據
3,邏輯與(&&)第一個數爲對象的時候返回第二個參數 第二個爲對象的時候 只有第一個爲true的狀況才能夠返回對象,第一個數爲null,undefined ,nan的時候則返回自己,其他的狀況所有返回true或者false。img
4,邏輯或(||)第一個數爲對象則返回第一個,第一個數爲false則返回第二個,若是兩個都爲對象則返回第一個,第一個爲true的狀況不會對第二個作計算,若是兩個數都爲null,undefined ,nan的時候則返回自己。移動
5,乘法操做:
6,除法操做:
若是操做數都是數值則進行除法計算
若是有一個是NaN則返回NaN;
若是不是數值 則調用Number進行轉換;在按照上面的規則處理
0%0獲得的是NAN
數值除以0則獲得infinite;
7,求模
8,加法
若是有兩個操做數是數值則進行正常的計算
若是有一個是字符串 則另外一個進行字符串轉換
若是有一個是對象 調用tostring方法進行轉換
null和undefined 會調用string進行轉換
9,減法操做符
10,關係操做符