代码之家  ›  专栏  ›  技术社区  ›  Chris92

安慰log()影响表达式结果?

  •  1
  • Chris92  · 技术社区  · 9 年前

    我遇到了奇怪的行为 console.log() 在JavaScript中。这可能一点都不奇怪,但我第一次看到了。这是关于 控制台.log() 通过加倍来影响表达结果。

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

    情况 一切都很好 : enter image description here

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

    enter image description here

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

    为什么? 控制台.log() (第595行)影响第593行的表达结果?

    1 回复  |  直到 9 年前
        1
  •  6
  •   LostMyGlasses    9 年前

    因为您正在更新 currentInput.value 在其调用中。如果你不想发生这种情况,你应该更换

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

    具有

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

    (请注意 += 被替换为 + ).