为什么它在 JavaScript 中打印 12 而不是 10 [已关闭]

Why does it prints 12 instead of 10 in JavaScript [closed]

提问人:XVNVSX 提问时间:3/31/2023 最后编辑:UnmitigatedXVNVSX 更新时间:3/31/2023 访问量:60

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

8个月前关闭。

每次我尝试这样做时,控制台日志都会打印 12 而不是 10:

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

JavaScript 赋值运算符

评论

4赞 Hanwei Tang 3/31/2023
为什么你期望结果是 10?你能写下步骤吗?
0赞 ShadowRanger 3/31/2023
为什么你认为它应该打印 10?您有效地将 的两个副本和三个副本相加,总共 12...32
0赞 Unmitigated 3/31/2023
number1 += number2 => number1 = 5. => ..number2 += number1number2 = 7result = 5 + 7 = 12
1赞 Caleb Carson 3/31/2023
结果得到 12 的原因是您使用 += 将值重新分配给它们自己。这是细分。1. 让 number1 = 3 和 let number2 = 2 2.我们在第一步中将它们相加,number1 += number2,这意味着 3 + 2 现在等于 number1(number1 现在是 5) 3。number2 += number1 ,所以 number2 仍然是 2,number1 是 5。5 + 2 = 7 和 7 现在是 number2 的新值。4. 最后,在 let result = number1 + number2 中,我们将 5 和 7 相加得到 12。从本质上讲,代码完全按照您的要求执行。
0赞 freedomn-m 3/31/2023
它是 12,因为在该行中,已经包含了上面行中的数字 2。number2 += number1;number1

答:

4赞 ChrisFisher 3/31/2023 #1
let number1 = 3; 
let number2 = 2; 

number1 += number2;
// number1 = 3 + 2 = 5; 

number2 += number1;
// number2 = 2 + 5 = 7; 

let result = number1 + number2;
// result = 5 + 7 = 12;
 
console.log(result);

为什么结果应该是 10?