You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么这段JavaScript代码输出12而非10?

为什么这段JS代码输出12而不是10?

先看你贴的代码:

let number1 = 3;
let number2 = 2;
number1 += number2;
number2 += number1;
let result = number1 + number2;
console.log(result);

咱们一步步拆解执行过程,就能明白为啥输出是12:

  • 初始状态:number1 = 3,number2 = 2
  • 执行number1 += number2:等价于number1 = 3 + 2,此时number1变成5
  • 执行number2 += number1:这里的number1已经是修改后的5了,所以number2 = 2 + 5,变成7
  • 最后result = 5 + 7 = 12,控制台自然输出12

如果你期望得到10,应该是误以为第三步里number2加的是原来的number1(也就是3)。要实现这个效果,得先把number1的初始值存起来,比如:

let number1 = 3;
let number2 = 2;
const originalNum1 = number1; // 保存初始值
number1 += number2;
number2 += originalNum1;
let result = number1 + number2;
console.log(result); // 此时输出10

内容的提问来源于stack exchange,提问作者XVNVSX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 12:02:05