Javascript-需要帮助了解while循环为何不';行不通

Javascript-需要帮助了解while循环为何不';行不通,javascript,while-loop,Javascript,While Loop,我可能会问一个愚蠢的问题,但我真的需要一个明确的结论 我有两个while循环 代码1: document.getElementById(“猜测”).onclick=function(){ var myNumber=document.getElementById(“myNumber”).value; var-gotIt=false; var numberOfGuesses=1; while(gotIt==false){ var guess=Math.random(); 猜=猜*6; 猜测=数学地板

我可能会问一个愚蠢的问题,但我真的需要一个明确的结论

我有两个while循环

代码1:
document.getElementById(“猜测”).onclick=function(){
var myNumber=document.getElementById(“myNumber”).value;
var-gotIt=false;
var numberOfGuesses=1;
while(gotIt==false){
var guess=Math.random();
猜=猜*6;
猜测=数学地板(猜测);
如果(猜测==myNumber){
gotIt=true;
警觉(“明白了!这是一个“+猜+”。我花了“+猜数+”猜数。”);
}否则{
numberOfGuesses++;
}
}
}


猜猜看基本上这两种方法都可以正常工作。您只是在第一个实现中有一个小的逻辑错误

挂起数字1的原因是您没有限制用户输入范围在
0-5
的数字。因此,超出该范围的任何数字都将永远循环,因为它永远不会产生
0-5
范围内的数字,这是您在将随机数乘以6时限制的

底线:
选择选项2,或者验证用户是否实际键入了0-5范围内的数字。

这两段代码之间的区别是什么?它们看起来几乎一模一样。无论如何,第一段代码对我来说很好。对我来说也很好。请记住,如果您放置任何大于5或小于0的数字,那么您的代码将永远无法猜出该数字。你将得到一个无限循环,这将使你的浏览器挂起。为什么你甚至需要一个while循环呢。因为您正在为单击事件分配函数,所以不需要任何循环。@暹罗关键是让代码生成随机数,直到生成正确的数字为止。我不知道为什么会有人想要或需要这样做;最好的猜测是这是一个家庭作业。谢谢#例如,当我输入3时,1为我挂起。我想知道它为什么会这样做。这很奇怪……我在你的问题中的小提琴上和我的机器上都运行了它。适用于0-5之间的任何数字。我有两个问题要问你<代码>1)
如果您使用问题中的小提琴,它是否也挂起<代码>2)您可以发布您在本地计算机上运行的确切HTML吗?