javascript之自增自减典型运算(易错)
JavaScript“自增”运算符与表达式
递增运算符(++)是一个一元运算符,该运算符可以将操作数进行递增操作,即每次增加1.递增运算符要求其操作数必须是变量、对象中的某个属性或数组中的某个元素,并且操作数的类型必须是数字型的。
如果操作数类型不是数字型,递增运算符会将其先转换为数字型数据,再进行递增操作。
递增运算符(自增运算符)根据其相对于操作数的位置有两种不同的递增方式。
1. “前自增”运算符
格式:
++a
“前自增”运算符是先将操作数的值加1,再使用操作数的新值参与表达式的运算。
举例:
var a=10, b; b=++a;
结果:a=11,b=11
2. “后自增”运算符
格式:
a++
“后自增”运算符是先将操作数的值参与表达式的运算,等表达式的值被引用之后,再将操作数的值加1。
举例:
var a=10, b;
b=a++;
结果:a=11,b=10
提示:当“++”在a前面时(++a),a加1后再参与表达式的运算;当“++”在a后面时(a++),a先参与表达式的运算,然后再加1。
“++”只对a有意义,可以把(++a)或(a++)看成一个整体,只是一个先加1再参与运算,还是先参与运算再加1的问题。
// 案例一
var a = 1;
var b = ++a + ++a;
console.log(b); // 结果为5
var a = 1;
var c = a++ + a++;
console.log(c); // 结果为3
var a = 1;
var d = a++ + ++a;
console.log(d); // 结果为4
var a = 1;
var e = ++a + a++;
console.log(e); // 结果为4
// 案例二
var a = 1;
var b = ++a + ++a; // ==> 先a=a+1得到a=2;然后2 + ++a,然后是a=a+1得到a=3,最后就是2+3=5 ,此时a的值为3
console.log(b); // 结果为5
var c = a++ + a++; // ==> 运算完后a的值为5
console.log(c); // 结果为7
var d = a++ + ++a; // ==> 运算完后a的值为7
console.log(d); // 结果为12
var e = ++a + a++; // ==> 运算完后a的值为9
console.log(e); // 结果为16
JavaScript“自减”运算符与表达式
递减运算符(自减运算符)根据其相对于操作数的位置有两种不同的递减方式,即前自减与后自减。
运算方法同上,这里就不多啰嗦了。
作者:江峰★
出处:http://www.cnblogs.com/jf-67/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?