![现代JavaScript编程:经典范例与实践技巧](https://wfqqreader-1252317822.image.myqcloud.com/cover/657/26793657/b_26793657.jpg)
上QQ阅读APP看书,第一时间看更新
2-17 自增与自减运算符
C语言中定义了自增与自减两种运算符,它们是很多初学者的噩梦。你或许猜到了,ECMAScript中也定义了这两种运算符,并且和C语言中定义的用法基本一致。
自增运算符使用符号“++”定义,自减运算符使用符号“--”定义。简单理解,自增运算符是在操作数本身的基础上进行加1运算,自减运算符是在操作数本身的基础上进行减1运算,示例代码如下:
![](https://epubservercos.yuewen.com/534FF6/15253386804113806/epubprivate/OEBPS/Images/Figure-P57_67301.jpg?sign=1739301015-NwI4oCBBKLawQo19iU34czdhQzkh4TjZ-0-6c49980997ee56f194ef2817251ec171)
需要注意,自增和自减运算符可以放在操作数后面,也可以放在操作数前面。如果将运算符放在操作数后面,通常称其为“后置自增/减运算符”;如果将运算符放在操作数前面,通常称其为“前置自增/减运算符”。“前置”与“后置”虽然只是一字之差,其运算过程与结果却差别很大。
先来看下面这个例子:
![](https://epubservercos.yuewen.com/534FF6/15253386804113806/epubprivate/OEBPS/Images/Figure-P57_67302.jpg?sign=1739301015-mwdb7UJ2N5KwRceqZak70tQtA25ijHgO-0-a7cdf4eb9d214437cbaeff85fd97b63b)
单独打印变量c和变量d的结果都将是11,说明无论是前置自增运算还是后置自增运算,都是在原操作数的基础上进行加1运算。然而如果对“c++”和“++d”这两个表达式的返回值进行打印,可以发现前置自增运算返回的是运算完成后的值,而后置自增运算返回的是运算前的值。同样的规则也适用于自减运算符,示例代码如下:
![](https://epubservercos.yuewen.com/534FF6/15253386804113806/epubprivate/OEBPS/Images/Figure-P58_67303.jpg?sign=1739301015-UxiuKQ59k2vTYPw2kuMcOEzcwv0ULS39-0-85433c181187589785d7156db8e358ae)