自增
自增要么是:a++ 要么是++a,但是区别很大:
a++就是自增前的值,换句话就是先使用再进行加1运算。
例:
var a=10;
a++;
console.log(a); 结果:10
console.log(a); 结果:11
原因是第一次输出时已经使用a了,所以第二次输出就是在原基础上加1再输出。
var c=10;
c++; //第一次c++,是在10的基础上自增
console.log(c++); 结果:11 //第二次c++,是在11的基础上自增
原因是第一次进行了c++,在这里使用了c,所以再使用c时输出为11,但是console.log(c++); 里面的c++并没有对c进行++运算,这更加证明了c++是先使用原值,然后再进行++。
++a就是自增后的值,换句话就是先++后使用。
var a=10;
++a;
console.log(a); 结果:11
console.log(a); 结果:11
原因是a在10的基础上先进行了加1运算,然后输出的就是11,直接只用a都是11。
来个复杂点的:
var d=10;
var result=d++ + ++d +d;
console.log(result); 结果:34;
原因是第一次d++ 后值为10,但是d的值变成了11,所以后面使用++d的时候是在11的基础上再加1,后面直接使用d的时候也就是12了,最终形成:10+12+12=34;
自减
自减要么是:a-- 要么是--a,但是区别也很大(跟上面自增一样的情况):
a--是变量的原值,自减前的值
--a是变量的新值,自减后的值
只要自增明白了,自减也就自然明白了。