
上QQ阅读APP看书,第一时间看更新
2-17 自增与自减运算符
C语言中定义了自增与自减两种运算符,它们是很多初学者的噩梦。你或许猜到了,ECMAScript中也定义了这两种运算符,并且和C语言中定义的用法基本一致。
自增运算符使用符号“++”定义,自减运算符使用符号“--”定义。简单理解,自增运算符是在操作数本身的基础上进行加1运算,自减运算符是在操作数本身的基础上进行减1运算,示例代码如下:

需要注意,自增和自减运算符可以放在操作数后面,也可以放在操作数前面。如果将运算符放在操作数后面,通常称其为“后置自增/减运算符”;如果将运算符放在操作数前面,通常称其为“前置自增/减运算符”。“前置”与“后置”虽然只是一字之差,其运算过程与结果却差别很大。
先来看下面这个例子:

单独打印变量c和变量d的结果都将是11,说明无论是前置自增运算还是后置自增运算,都是在原操作数的基础上进行加1运算。然而如果对“c++”和“++d”这两个表达式的返回值进行打印,可以发现前置自增运算返回的是运算完成后的值,而后置自增运算返回的是运算前的值。同样的规则也适用于自减运算符,示例代码如下:
