操作符放在变量后面并不会改变语句的结果,因为递增/递减是这条语句的唯一操作。
前置型:
++a和–a是直接返回递增/递减之后的a。
执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的。
var a=20;
++a; //21
相当于:
var a=20;
a=a+1; //21
后置型:
a++和a–是先返回原值,再返回递增/递减之后的a。
后置型递增和递减操作符的语法不变,只不过要放在变量的后面而不是前面。
后置与前置的区别在于:后置递增和递减操作是在包含它们的语句被求值之后才执行的。
例题:
1、前置型:
var b1=15;
var b2=10;
var b3=b1-(--b2);
console.log(b2); //无论是哪种,都是已经递减过了,所以是9
console.log(b3); //--b2先返回递减之后的值,15-9=6
2、后置型:
var a1=15;
var a2=10;
var a3=a1++-a2;
console.log(a1); //无论是哪个递增,都是已经递增过了,所以是16
console.log(a3); //a1++先返回原值15,15-10=5
3
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>递增与递减</title>
<script type="text/javascript">
var num1=10;
var num2=5;
var num3=(num1++)-(num2--);
var num4=(++num1)-(--num2);
console.log(num1); //无论是哪个递增,都是已经双递增过了,所以是12
console.log(num2); //无论是哪个递减,都是已经双递减过了,所以是3
console.log(num3); //um1++先返回原值10,um2--先返回原值5,5
console.log(num4); //++num1返回递增之后的值12,--num2返回递减之后的值3,9
</script>
</head>
<body>
</body>
</html>