javascrip中,一元操作符中
递增操作符: ++
递减操作符: --
这两个操作符可以放在变量的前面,也可以放在变量的后面。但是前后是有区别的。
1. a++与++a都是对a进行自加1,结果完全相同;递减操作符都是自减1。
function test1(){
var a = 5,
b = 5,
c = 5,
d = 5;
++a;
b++;
--c;
d--;
console.log(a); /*6*/
console.log(b); /*6*/
console.log(c); /*4*/
console.log(d); /*4*/
};
test1();
2.在赋值中使用
前置型是先计算,再赋值;后置型是先赋值,在计算。
function test2(){
var a = 5,
b = 5;
var c = ++a,
d = b++;
console.log(a); /*6*/
console.log(b); /*6*/
console.log(c); /*6*/
console.log(d); /*5*/
};
test2();
test2中:
c = ++a; 会先进行a自加1,再把值赋给c;
d = b++; 会先把b赋值给d,b再进行自加1。
3.在计算并赋值中使用
前置型会先进行自加或自减,再进行计算,最后赋值;
后置型会先进行计算,再赋值,最后进行自加或自减。
function test3(){
var a = 5,
b = 5;
var c = ++a + 2,
d = b++ + 2;
console.log(a); /*6*/
console.log(b); /*6*/
console.log(c); /*8*/
console.log(d); /*7*/
};
test3();
test3中:
c = ++a + 2; a先自加1,再进行 a + 2计算,最后把值赋给c;
d = b++ + 2; 先进行 b + 2 计算,再把值赋给d,最后进行b自加1。