1.i++ 是先赋值在再自加,如:
i = 1;
k = i++;此时k的值为1,i的值为2;即i先把自身的值赋给了k之后才进行的自加。
2.++i是先自加在赋值,如:
i = 1;
k = ++i;此时k的值为2,i的值也为2;即i先进行自加,再将自加后的值赋给k。
3.当i++或者++i单独使用,没有其他表达式参与运算时,它们两个所实现的效果是一样的,都是实现自加1的效果。
4.js代码如下:
<script>
//要注意的是,无论是i++还是++i,每执行一次,i的值都会储存为最新的那个值,即i++执行了n次,那么i == i + n;
var d = 10;
var f = d++ + ++d;
console.log(d); //d=12
console.log(f); //f=22
console.log("---------------------------------------");
// 1. i++ ,先赋值,再自加
var i = 1;
var k = i++; //先把原先i的值赋给k,然后i自加1
console.log(k); //k=1
console.log(i); //i=2
console.log(k == 1); //true
console.log(k == 2); //false
console.log("---------------------------------------");
// 2.++i,先自加,再赋值
var a = 1;
var b = ++a; //a先进行自加1,再把得到的值赋给b; ++a的效果类似于 a = a+1;
console.log(a); //a=2
console.log(b); //b=2
console.log(b == 1); //false
console.log(b == 2); //true
</script>