一元算数运算符

一元运算符作用于一个单独的操作数,并产生一个新值。在javascript中,一元运算符具有很高的优先级,而且都是右结合。

一元加法:一元加法运算符把操作数转换成数字(或者NaN),并返回这个转换后的数字。

一元减法:当“—”用做一元运算符时,他会根据需要把操作数转换炜数字,然后改变运算结果的符号。

递加(++):递增“++”运算符对其操作数进行增量(加一)操作,操作数是一个左值(lvalue)(变量、数组元素和对象属性)。运算符将操作数转换成数字,然后数字加1,并将加1后数值重新赋值给变量、数组元素或对象属性。

递加“++”运算符的返回值依赖于它相对于操作数的位置。当操作符位于操作数之前,称为“前增量”运算符,它对操作数进行增量计算,并返回计算后的值。当运算符位于操作数之后时,称为“后增量”运算符,它对操作值进行增量计算,但返回未做增量计算的值;

var i=1,j=++i; //i和j的值都是2

var i=1,j=i++; // i是2 j是1

需要注意的是,表达式++x并不总和x=x+1完全一样,"++"运算符从不进行字符串连接操作,它总是会将操作数转换成数字并为数字增1。如果x是字符串“1”,++x的结果就是数字2,而x+1是字符串"11"。

递减(--)

递减(--)运算符的操作数也是一个左值。它把操作数转换成数字,然后减1,并将计算后的值重新赋值给操作数,和“++”运算符一样,递减"--"运算符的返回值依赖于它相对于操作数的位置。

原文地址:https://www.cnblogs.com/james2015/p/5043050.html