一、自增自减
1.1、自增 ++a,a++(自减同理)
- (1),原变量不管是先增还是后增,都会使得原变量增/减1
var a=10,b=10;
a++;
++b;
alert(a);//11
alert(b);//11
- (2)不同的是,在赋值的时候使用
a++这个表达式是把a的赋值给表达式,然后再自己自增
++a是先自己自增,自增后再赋值给表达式
<script>
var a=10,b=10;
c=a++;
d=++b;
alert(c);//10
alert(d);//11
</script>
开发中,大多使用后置的自增/自减,并且代码独占一行
var n1 = 10;
var n2 = 20;
var result1 = n1++;
console.log(n1); // 11
console.log(result1); // 10
result = ++n1;
console.log(n1); //12
console.log(result); //12
var result2 = n2--;
console.log(n2); // 19
console.log(result2); // 20
result2 = --n2;
console.log(n2); // 18
console.log(result2); // 18
二、注意的
当变量是数字字符串,使用自增自减会隐式转换为数字
var a = "666";
a++;
console.log(typeof a); // 打印结果: number
console.log(a); // 打印结果:667
var a = 'abc';
a++;
console.log(typeof a); // 打印结果:number
console.log(a); // 打印结果:NaN。因为 Number('abc')的结果为 NaN,再自增后,结果依然是 NaN