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;