我是一般的javascript和编程的新手,我对这个循环感到困惑。真实的while条件是什么意思?这对我来说非常困惑,因为我习惯于看到带有定义变量的while循环和实际比较某些东西的条件。但是,在本书的这个例子中,变量“answer”是未定义的,而while循环的条件只是“(true)”。
var answer;
while (true) {
answer = prompt("You! What is the value of 2 + 2?", "");
if (answer == "4") {
alert("You must be a genius or something.");
break;
}
else if (answer == "3" || answer == "5") {
alert("Almost!");
}
else {
alert("You're an embarrassment.");
}
}
答案 0 :(得分:2)
while(true)
表示永远运行以下内容。但是你故意保留break
语句,以便代码从无限循环中出来。
这里,answer变量从你的输入中获取一个值。 prompt("You! What is the value of 2 + 2?", "");
会要求您输入答案并将输入的值分配给answer
。只要您输入错误答案,此循环就会运行。
答案 1 :(得分:0)
是的,你是对的,起初
var answer;
答案值未定义。
answer = prompt("You! What is the value of 2 + 2?", "");
上面一行要求用户输入一些值,该值将存储在answer变量中。
if (answer == "4")
我们正在比较该值,如果它是“4”,那么循环将使用
中断break;
关键字。
否则,循环仍将继续并询问用户。
答案 2 :(得分:0)
这段代码的作用是永远循环,直到输入正确的数字。
因此,while(true){}
只运行代码,直到调用break;
。
然后,prompt(...)
等待用户输入值。
如果数字正确,则会提醒用户:alert("You must be a genius or something.");
,否则会显示"Almost"
或"Your an embarrassment."
并从第1步开始循环。
当你想要得到你想要的结果时,这种循环非常有用,就像在这种情况下一样。