JavaScript 递增/递减与复合赋值运算符的等价展开

作者:拾光

时间:2026-10-22

浏览:193

本文详细解析 JavaScript 中递增(++)、递减(--)及各类复合赋值运算符(如 *=, +=, &= 等)的内部执行逻辑。通过展示其等价展开形式,阐明后置与前置运算符在赋值顺序上的差异,以及复合运算符如何简化变量更新操作,帮助开发者理解底层行为。

文章目录
以上为 1.递增/递减运算符等价式 的完整说明;

递增与递减运算符的等价展开

对于后置递增表达式 a=b++;

<=>

其等价操作序列为:先执行 a=b,随后执行 b=b+1;


对于前置递增表达式 a=++b;

<=>

其等价操作序列为:先执行 b=b+1,随后执行 b=b(即赋值给a);


对于后置递减表达式 a=b--;

<=>

其等价操作序列为:先执行 a=b,随后执行 b=b-1;


对于前置递减表达式 a=--b;

<=>

其等价操作序列为:先执行 b=b-1,随后执行 b=b(即赋值给a);



因此,当设定 a=5、b=6 时,执行 var3=a++*--b,最终计算结果为 25;



以上为 2.带操作的赋值运算符等价式 的完整说明;

带操作的赋值运算符等价展开

对于复合乘法赋值 a*=b;

<=>

其等价于 a=a*b;


对于复合除法赋值 a/=b;

<=>

其等价于 a=a/b;


对于复合加法赋值 a+=b;

<=>

其等价于 a=a+b;


对于复合减法赋值 a-=b;

<=>

其等价于 a=a-b;


对于复合取模赋值 a%=b;

<=>

其等价于 a=a%b;


对于复合按位与赋值 a&=b;

<=>

其等价于 a=a&b;注意从 &= 开始,后续均为逐位运算符;


对于复合按位或赋值 a|=b;

<=>

其等价于 a=a|b;


对于复合按位异或赋值 a^=b;

<=>

其等价于 a=a^b;


对于复合右移赋值 a>>=b;

<=>

其等价于 a=a>>b;


对于复合左移赋值 a<<=b;

<=>

其等价于 a=a<<b;


对于复合无符号右移赋值 a>>>=b;

<=>

其等价于 a=a>>>b;需注意的是 C# 语言中不存在此运算符;


实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章