【发布时间】:2020-07-13 22:19:44
【问题描述】:
我正在学习这门语言,我的老师要求我编写一些代码。检查了有关它的所有其他帖子,但找不到答案,我只是不明白为什么我会出现无限循环,因为条件似乎很清楚(至少对我来说哈哈):num1 必须与 num2 不同。该代码应该一直在 num2 中提出问题,直到用户键入与 num1 相同的数字。
var num1 = Number(prompt("Digite um número"))
console.log("Fight!")
arrayFinal = []
var num2 = Number(prompt("Que número o jogador 1 escolheu?"))
for (num1; num2 !== num1; num2) {
arrayFinal.push(num2)
console.log("O número chutado foi: ", num2)
if (num2 > num1) {
console.log("MISS! O número é menor!")
} else if (num2 < num1) {
console.log("MISS! O númenor é maior!")
}
}
console.log("GAME OVER! O jogador 2 venceu! O número de tentativas foi: " +
(arrayFinal.lenght + 1))
【问题讨论】:
-
这里有一个提示:
num1和num2会改变吗? -
我认为 for 循环中没有终止条件。你没有改变 num2 或 num1
-
另外,想想 for 循环的不同部分实际上做了什么。第一部分告诉你如何初始化一些变量(通常使用像
i = 0这样的赋值);第二部分定义“继续条件”(类似于i < 10);最后一部分定义了循环在每次迭代之后应该做什么(再次使用赋值的东西,比如i+=1,这样“继续条件”可能会从真变为假)。我怀疑第一部分和最后一部分没有按照您的想法进行。 -
是的,但我也尝试简单地将它们取下,并添加类似“if (num1===num2) break”之类的内容,但它没有改变:(但谢谢:D
标签: javascript loops infinite