一元操作符(单目操作符)
*递增和递减操作符(分前置型和后置型)
++是递增操作符,--是递减操作符
i++ 先赋值 后自加
i-- 先赋值 后自减
++i 先自加 再赋值
--i 先自减 再赋值
*一元加、减操作符
这两种操作符将执行 Number() 转型函数功能。
区别就是 减操作符 执行 Number() 转型函数功能后,将得到的数转换为负数。
var i = "45";
console.log(+i);
//console.log(-i);
下面我们举个例子:
var a = 7;
var b=(a++)+(++a)-(--a)+(a++)+(--a)-(a++);
var c=(b--)-(--a)+(b++)+(++b)+(a++);
console.log(b);
console.log(a);
console.log(c);
我们先算b的值:b=(a++) 计算a++的值先赋值再后a再自加,(a++)=a=7,此时a经过自加得到a=8;
(++a)是先自加在a=9再赋值所以(++a)=9;
(--a)是a先自减a=8再赋值(--a)=8;
(a++)是先赋值(a++)=8再自加a=9;
以此类推得到(--a)=8;(a++)=8;
此时的a=9;由此得到b=7+9-8+8+8-8=16;
然后我们再计算c的值:
c=(b--)一样的道理,此时先赋值(b--)(这里是前面计算b的值)=16,此时b=15;
(--a)先计算a(这里的a是前面计算b最后a等于的值)=8,再赋值(--a)=8;
以此类推得到(b++)=15 b=16;(++b)=17 b=17;(a++)=8
a=9;
c=16-8+15+17+8=48;
****注意a b的值都是我们最终经过所有运算以后得到的值,所以a=9;
b=17;
c=48;