我在JavaScript中遇到了console.log()
的奇怪行为。它可能并不奇怪,但我第一次看到它。通过将其加倍,约为console.log()
表达的结果。
我在做的是:我按下应该添加数字的按钮。我按“3”,“2”和“1”。所以我应该看到“321”。这就是我得到的,当它没问题的时候。
但是当我取消注释较低的console.log()
时(在第595行),当我按下相同的按钮时,它会使结果为“332211”。
我不明白为什么将第593行的表达式赋予console.log()
会影响这个表达式的结果?我的意思是,我认为我应该在控制台中看到这个表达式结果,但是在控制台中既没有加倍,也没有在页面加倍。
为什么console.log()
(第595行)会影响第593行的表达结果?
答案 0 :(得分:6)
因为您在其调用中更新了currentInput.value
。如果您不希望这种情况发生,您应该替换
console.log('Amount of money:', currentInput.value += ev.target.innerHTML);
与
console.log('Amount of money:', currentInput.value + ev.target.innerHTML);
(请注意,+=
已替换为+
)。