自增自减运算符是很多高级语言中经常使用的:
自增运算符 ++ 会把操作数加 1,自减运算符 – 会把操作数减 1。因此:
x = x+1;
//等同于
x++;
或
x = x-1;
等同于
x--;
无论是自增运算符还是自减运算符,都可以放在操作数的前面或后面。例如:
++x; // 前缀形式
x++; // 后缀形式
前缀形式与后缀形式之间有一点不同。如果使用前缀形式,则会在表达式计算之前完成自增或自减,如果使用后缀形式,则会在表达式计算之后完成自增或自减。同时只能作用于变量,不能作用于字面量,而且自增自减运算符的优先级是比较高的
前缀后缀的区别
详细的讲++a和a++的区别是返回值的不同。假如a=0,那++a返回的是1实际上也是1,但a++返回的是0实际上是1;但这些都不重要。
通俗地说,前置就是先对自己加或减,把自己搞好了再去做其他的,而后置就是先去做其他的,等其他的搞好了,再对自己加或减,这个区别在某些情况下不是什么问题,例如:
var a = 0;
a++;//1
++a;//1
把递增操作符放在变量后面并不会改变语句的结果,因为递增是这条语句的唯一操作。
但是,当语句中还包含其他操作时,区别就会非常明显了,例如:
var a = 0;
var b = 0;
var c = 10;
var d = a++ + c;
var e = ++b + c;
console.log(d);//10
console.log(e);//11
console.log(a);//1
console.log(b);//1
所以你只需要记住++a是先加再运算,a++是先运算再加;再面试题里极其麻烦;