js一元操作符之递增递减操作符的前置型与后置型详解

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。

你可能感兴趣的:(前端笔记)