JavaScript加法运算结果异常求助:result与result_2值不符预期
问题原因与解决方法
你的问题出在JavaScript的后置自增运算符(result++)的行为逻辑上,下面一步步拆解代码执行过程:
- 执行
let result = num_1 + num_2后,result的值为8。 - 执行
let result_2 = result++时,后置自增会先返回result当前的数值(也就是8)赋值给result_2,再把result自身的值加1,变为9。 - 最终打印时,
result输出9,result_2输出8,和你的预期完全相反。
解决方案
如果你想让 result 保持 8,result_2 输出 9,直接使用普通加法即可,避免修改原变量:
let num_1 = 5; let num_2 = 3; let result = num_1 + num_2; let result_2 = result + 1; console.log(result); // 预期值8 console.log(result_2); // 预期值9
如果你的需求是让 result 和 result_2 都为 9,可以改用前置自增运算符(++result),它会先将 result 的值加1,再返回新的值赋值给 result_2:
let num_1 = 5; let num_2 = 3; let result = num_1 + num_2; let result_2 = ++result; console.log(result); // 输出9 console.log(result_2); // 输出9
内容的提问来源于stack exchange,提问作者yuva raj
相关产品推荐
相关产品推荐

