![现代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=1739007596-Xgnu0itqddWtQxr93MPMiRd7W5pukqQq-0-bec1e793f66604a0b32abe36cad7c95e)
需要注意,自增和自减运算符可以放在操作数后面,也可以放在操作数前面。如果将运算符放在操作数后面,通常称其为“后置自增/减运算符”;如果将运算符放在操作数前面,通常称其为“前置自增/减运算符”。“前置”与“后置”虽然只是一字之差,其运算过程与结果却差别很大。
先来看下面这个例子:
![](https://epubservercos.yuewen.com/534FF6/15253386804113806/epubprivate/OEBPS/Images/Figure-P57_67302.jpg?sign=1739007596-Bco6zoLWNPPyRjtym0Zpmayaz6vn5Nlk-0-7921eda1fc91a6f96a4261eb5ccd0faf)
单独打印变量c和变量d的结果都将是11,说明无论是前置自增运算还是后置自增运算,都是在原操作数的基础上进行加1运算。然而如果对“c++”和“++d”这两个表达式的返回值进行打印,可以发现前置自增运算返回的是运算完成后的值,而后置自增运算返回的是运算前的值。同样的规则也适用于自减运算符,示例代码如下:
![](https://epubservercos.yuewen.com/534FF6/15253386804113806/epubprivate/OEBPS/Images/Figure-P58_67303.jpg?sign=1739007596-GZwbZiTzpGpJ71xBL9t0Jb87GPV1lT5z-0-b85d51b5eb95eccf28f61b6c392d021d)