Console.log()会影响表达式结果吗?

时间:2016-02-22 10:15:17

标签: javascript expression console.log

我在JavaScript中遇到了console.log()的奇怪行为。它可能并不奇怪,但我第一次看到它。通过将其加倍,约为console.log()表达的结果。

我在做的是:我按下应该添加数字的按钮。我按“3”,“2”和“1”。所以我应该看到“321”。这就是我得到的,当它没问题的时候。

一切正常时的情况enter image description here

但是当我取消注释较低的console.log()时(在第595行),当我按下相同的按钮时,它会使结果为“332211”。

enter image description here

我不明白为什么将第593行的表达式赋予console.log()会影响这个表达式的结果?我的意思是,我认为我应该在控制台中看到这个表达式结果,但是在控制台中既没有加倍,也没有在页面加倍。

为什么console.log()(第595行)会影响第593行的表达结果?

1 个答案:

答案 0 :(得分:6)

因为您在其调用中更新了currentInput.value。如果您不希望这种情况发生,您应该替换

console.log('Amount of money:', currentInput.value += ev.target.innerHTML);

console.log('Amount of money:', currentInput.value + ev.target.innerHTML);

(请注意,+=已替换为+)。