JavaScript中IF语句为true时变量未加1且始终输出0是什么原因?
问题原因
代码中的value + 1仅执行了加法计算逻辑,没有将计算结果回写到value变量上,所以value的实际值始终是初始化的0,控制台自然会打印0。
你可以把value + 1理解为生成了一个临时的数值1,但这个数值没有被存储到value对应的内存空间里,变量本身的取值不会发生变化。
修复方案
以下三种写法都可以实现value加1的需求:
- 完整赋值写法
if(test === true){ value = value + 1 }
- 加法赋值运算符简写
if(test === true){ value += 1 }
- 自增运算符写法(数字加1场景最常用)
if(test === true){ value++ }
内容的提问来源于stack exchange,提问作者wati2006
相关产品推荐
相关产品推荐

