递增和递减算数运算符
代码示例:
<script>
var a = 2;
var b;
b = a++;
console.log(a, b);//打印出来是 3 2
var a = 2;
var b;
b = a--;
console.log(a, b);//打印出来是 1 2
var a = 2;
var b;
b = ++a;
console.log(a, b);//打印出来是 3 3
var a = 2;
var b;
b = --a;
console.log(a, b);//打印出来是 1 1
var a = 12;
var b;
b =a++ + ++a + a-- + --a - a++ - ++a - a-- - --a;
//a= 12(初始值) 13(运算后的值) 14(b赋值给a) 13(运算后的值) 12(b赋值给a) 13(运算后的值) 14(b赋值给a) 13(运算后的值) 12(b赋值给a)
//b= 12(a赋值给b) + 14(运算后的值)+ 14(a赋值给b)+ 12(运算后的值)- 12(a赋值给b)- 14(运算后的值)- 14(a赋值给b)- 12(运算后的值)
console.log(a, b);//打印出来是 12 0
</script>
运行结果:
代码示例:
<script>
var a = 10;
a = a + 1;
document.write(a+'<br>'); //页面显示: 11
//var a = 1;
//a = a + 1;写成 a ++是一种简化形式“++”,是自身加一,再赋值给自身
//a++是 a=a+1 的简化形式
var a = 10;
document.write(++a+',');
document.write(a+'<br>'); //页面显示: 11;11
//是先执行++,再执行本条语句 document.write(++a)
var a = 1;
document.write(a+++',');
document.write(a+'<br>'); //页面显示: 1;2
//是先执行语句(document.write(a)),再++,所以第一次打印的还是 a,第二次打印 a++后的值
var a = 10;var b = ++a - 1 + a++;document.write(b+',',a+'<br>') //页面显示: 21 12
//先++a,这个时候 a=11,再-1,再加 a,b 就是 21,最后++,a 就是 12赋值的顺序自右向左,计算的顺序自左向右(按数学来)
var a = 1; var b = a++ + 1; document.write(b+'<br>'); //页面显示: 2,先执行 var b =a+1, 再 a++
var a = 1; var b = a++ + 1; document.write(a+','); document.write(b+'<br>'); //页面显示: 2,2
var a = 1; var b = ++a + 1; document.write(a+','); document.write(b+'<br>'); //页面显示: 2,3
var i = 1; var a = i++; document.write(i+'<br>');//页面显示: a = 1; 此时 i 先将值 1 赋给 a,然后自己+1,i=2;
var b = ++i;document.write(b+',');document.write(i+'<br>');//页面显示: b = 3;此时 i 先自己+1 为 3.再给 b 赋值,b=3;
</script>
运行结果: