这个while循环在Eloquent Javascript中意味着什么?

时间:2014-01-02 05:57:15

标签: javascript

我是一般的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.");
      } 
    }

3 个答案:

答案 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步开始循环。

当你想要得到你想要的结果时,这种循环非常有用,就像在这种情况下一样。