1,操做符包括算術操做符(如加減號)、位操做符、關係操做符和相等操做符。操做符可以適用於不少值,例如字符串、數字、布爾值,甚至對象。不過在應用於對象時,相應的操做符一般都會調用對象都valueOf()或toString()方法,以便取得能夠操做的值;函數
2,一元操做符;spa
只能操做一個值的操做符叫作一元操做符,有一元加減操做符(-,+),有遞增遞減操做符(++,--);code
2.1,遞增和遞減操做符;對象
遞增和遞減各有兩個版本:前置型和後置型;前置型放在操做的變量以前,後置型放在操做的變量後;blog
var age=18; age++; ++age; age--; --age;
它們無論是++仍是--,無論在前面仍是後面,都是加1或者減1;前置和後置的區別是:在一個運算過程當中前置型是先賦值(自身改變)後運算(表達式),後置型是先運算(運算表達式)後賦值(自身改變);字符串
這四個操做符對任何值都適用,遵循以下規則:console
*在應用一個包含有效數字字符串時,先將其轉換爲數字,再執行加減1的操做;class
var age="18" age++; //19;
*在應用一個不包含有效數字字符串是,將變量的值轉爲NaN,變量
*在應用布爾值false時,先將其轉爲0,再執行加減1的操做;方法
*在應用布爾值true時,先將其轉爲1,再執行加減1的操做;
*在應用浮點數值時,正常執行加減1操做;
var num=1.1 num--; console.log(num);//0.10000000000000009
*在應用對象時,先調用對象的valueOf()方法,以取得一個能夠操做的值,而後對該值按上面規則運行;
2.2,一元加或一元減操做符;
在對數值前面添加一元操做符,對數值不會產生任何影響;
var num=19; num=+num; num//19
不過對非數字應用一元操做符時,該操做符將會想Number()函數同樣將這個值進行數值轉換;
var num="01"; num=-num;//-1; var num1="1.1"; num1=-num1;//-1.1 var str="aa" str=-str;//NaN;