Javascript 警报不会关闭(while 循环)
Javascript alert wont dismiss (while loop)
我正在尝试制作一个 "How many fingers are you holding up" 页面,如果我在框中输入 1-5,它可以工作,但如果我输入超过 5,警报不会消失,谁能帮助我这个?抱歉这个菜鸟问题
任何帮助将不胜感激!谢谢!!
document.getElementById("guess").onclick = function() {
var gotIt = false;
var guesess = 1;
var x;
while (gotIt == false) {
x = Math.random();
x = 6 * x;
x = Math.floor(x);
if (document.getElementById("myNumber").value == x) {
gotIt = true;
} else {
if (guesess == 20) {
alert("i give up");
} else {
guesses++;
}
}
}
alert("I got it! It was a " + x + "It only took me " + guesess + "guesses");
}
<p>How many fingers are you holding up?</p>
<input id="myNumber" />
<button id="guess">Guess!!</button>
第一期,修正你的打字错误:你混合使用 guesess
和 guesses
它们必须相同。
第二个问题,一旦代码为'giving up',它就不会设置标志来打破循环。您可以在警报后使用 break
来打破循环:
alert("i give up");
break;
第三个问题,如果没有找到匹配项(即 gotIt
仍然是错误的),您需要进行检查以确保不显示 "i got it" 消息:
if (gotIt)
alert("I got it! It was a " + x + "It only took me " + guesess + "guesses");
(或者,您可以将此警报放在设置 gotIt = true
的同一个 if 块中)
最好将输入转换为您
您可以尝试替换您的 java 脚本代码,以便您可以控制转换问题,并将您的
alert("I got it! It was a " + x + " It only took me " + guesess + "guesses");
在if(x == n)里面,因为当随机数匹配输入keyed时会弹出alert,
试试这个代码:
document.getElementById("guess").onclick = function() {
var gotIt = false;
var guesess = 1;
var x;
var num=parseInt(document.getElementById('myNumber').value);
while (gotIt == false) {
x = Math.random();
x = 6 * x;
x = Math.floor(x);
if (x == num) {
gotIt = true;
alert("I got it! It was a " + x + " It only took me " + guesess + "guesses");
} else {
if (guesess == 20) {
alert("i give up");
break;
} else {
guesess++;
}
}
}
}
我正在尝试制作一个 "How many fingers are you holding up" 页面,如果我在框中输入 1-5,它可以工作,但如果我输入超过 5,警报不会消失,谁能帮助我这个?抱歉这个菜鸟问题 任何帮助将不胜感激!谢谢!!
document.getElementById("guess").onclick = function() {
var gotIt = false;
var guesess = 1;
var x;
while (gotIt == false) {
x = Math.random();
x = 6 * x;
x = Math.floor(x);
if (document.getElementById("myNumber").value == x) {
gotIt = true;
} else {
if (guesess == 20) {
alert("i give up");
} else {
guesses++;
}
}
}
alert("I got it! It was a " + x + "It only took me " + guesess + "guesses");
}
<p>How many fingers are you holding up?</p>
<input id="myNumber" />
<button id="guess">Guess!!</button>
第一期,修正你的打字错误:你混合使用 guesess
和 guesses
它们必须相同。
第二个问题,一旦代码为'giving up',它就不会设置标志来打破循环。您可以在警报后使用 break
来打破循环:
alert("i give up");
break;
第三个问题,如果没有找到匹配项(即 gotIt
仍然是错误的),您需要进行检查以确保不显示 "i got it" 消息:
if (gotIt)
alert("I got it! It was a " + x + "It only took me " + guesess + "guesses");
(或者,您可以将此警报放在设置 gotIt = true
的同一个 if 块中)
最好将输入转换为您 您可以尝试替换您的 java 脚本代码,以便您可以控制转换问题,并将您的
alert("I got it! It was a " + x + " It only took me " + guesess + "guesses");
在if(x == n)里面,因为当随机数匹配输入keyed时会弹出alert, 试试这个代码:
document.getElementById("guess").onclick = function() {
var gotIt = false;
var guesess = 1;
var x;
var num=parseInt(document.getElementById('myNumber').value);
while (gotIt == false) {
x = Math.random();
x = 6 * x;
x = Math.floor(x);
if (x == num) {
gotIt = true;
alert("I got it! It was a " + x + " It only took me " + guesess + "guesses");
} else {
if (guesess == 20) {
alert("i give up");
break;
} else {
guesess++;
}
}
}
}