Javascript 加上同样的误解

Javascript 加上同样的误解,javascript,console,Javascript,Console,我正在我的浏览器中尝试一些东西,但我不理解结果 当我打字时: var testPlus = 0; testPlus += 2 console.log(testPlus) 它给出testPlus=2 但是当我打字的时候 var testPlus = 0; (testPlus +=2) * 2; console.log(testPlus) 它仍然给出2,就像没有计算“*2”。 我不明白为什么 谢谢你在声明中的发言 (testPlus +=2) * 2 首先计算括号中的部分。这会将2添加到变量中

我正在我的浏览器中尝试一些东西,但我不理解结果

当我打字时:

var testPlus = 0;
testPlus += 2
console.log(testPlus)
它给出testPlus=2

但是当我打字的时候

var testPlus = 0;
(testPlus +=2) * 2;
console.log(testPlus)
它仍然给出2,就像没有计算“*2”。 我不明白为什么

谢谢你在声明中的发言

(testPlus +=2) * 2
首先计算括号中的部分。这会将
2
添加到变量中。只有在加法和变量更新后,值才会乘以
2

如果您打算将
testPlus
更新为等于其值加上
2
,然后乘以
2
,则不能使用
+=

testPlus = (testPlus + 2) * 2;
或者您可以使用两条语句的序列,一条带有
+=
,另一条带有
*=

testPlus += 2;
testPlus *= 2;

您仅将
+2
分配回
testPlus
*2
正在发生,但答案没有存储在任何地方


所以,
(testPlus+=2)*2
将存储在
testPlus
中的值提升到
2
,然后乘以
2
,创建一个值
4
。但是,
4
不会在任何地方使用或存储。

您永远不会使用表达式的结果。将(更改的)
testPlus
值乘以2,然后将其丢弃。比较
testPlus+2
testPlus=testPlus+2
testPlus+=2
是一个快捷方式)。

@Ferdinand没问题。别忘了把答案标出来。祝你好运