【发布时间】:2021-01-25 03:46:29
【问题描述】:
我有一个 for 循环,它将遍历所有选择并为它们设置一个值。 出于某种原因,当我运行代码时,它会执行第一次迭代,然后跳到最后一次并执行 3 次左右,根据控制台。
代码:
for (i = 0; i < 4; i += 1) {
console.log(i)
var generated = word
while (generated == word) {
generated = wordsJson.characters[Math.floor(Math.random() * wordsJson.characters.length)]
}
choices[i].innerHTML = translate(generated)
}
我在控制台中得到什么:
0
(3) 3
这是我第一次在 stackoverflow 上提问。如果您需要更多信息,请询问。
【问题讨论】:
-
我注意到您没有在上面的 sn-p 中声明
i。您是否碰巧在代码的其他地方有另一个循环,您也使用i? (可能在translate?) 始终使用let、const或var声明变量,以便它们的范围适当,而不是全局 -
word是什么?它来自哪里? -
如果
word未在外部上下文中定义,您的代码应显示error。 -
就像 blex 说的那样。我整晚都在编码,一段时间后你往往会犯一些愚蠢的错误:p
标签: javascript html for-loop