【问题标题】:Javascript - Nested loops adding 1?Javascript - 嵌套循环加 1?
【发布时间】:2018-04-24 03:55:36
【问题描述】:

对于以下代码:

for (var x = 1; x < 2; x++) {
  for (var y = 1; y < 5; y++) { x += y}
}
console.log(x)

为什么输出显示为 12?

循环不是这样计算的吗:

1+1+2+3+4 = 11

我不清楚在哪里添加了额外的 1。有人可以帮忙建议吗?

【问题讨论】:

  • 你的内部循环什么都不做。它应该有一个身体吗?
  • 代码中的加法在哪里?
  • 应该是 2 而不是 12
  • 请发布您的完整代码。
  • 我收到了2,正如预期的那样。

标签: javascript loops for-loop nested


【解决方案1】:

额外的来自第一个循环中的x++。您循环运行x=1,内部循环运行1+1+2+3+4 = 11,但随后它将运行第一个循环的x++ 并变为12。在检查条件之前,您的increment 操作将完成

for (var x = 1; x < 2; x++) {
    for (var y = 1; y < 5; y++) {
    x = x+y;
    }
    console.log("x inside loop- "+x);
}
console.log(x)

【讨论】:

  • 很高兴我能帮上忙 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多