Javascript教程,请解释一下

时间:2011-02-22 01:49:00

标签: javascript

我是一个学习Javascript的新手。在下面的教程中,我不理解

  • 为什么值最初设置为null

  • 如果输入的值是2,例如,程序如何知道显示“你是一个尴尬”而不是重新显示最初的问题“2 + 2的值是多少”?

当值!= 4时触发问题/提示,所以我希望回答2重新触发问题/提示,但程序会显示消息“你是一个尴尬”。

任何人都可以解释一下吗?

var value = null;
while (value != "4") {
  value = prompt("You! What is the value of 2 + 2?", "");
  if (value == "4")
    alert("You must be a genius or something.");
  else if (value == "3" || value == "5")
    alert("Almost!");
  else
    alert("You're an embarrassment.");
}

3 个答案:

答案 0 :(得分:2)

a)该值最初设置为null,以便当while循环检查以验证它应该启动时,循环将返回true。 I.E. value不等于“4”,它等于null。 您还可以将值设置为除4之外的任何值。

b)您在对话框中输入的值将是设置的值,因此,由于值不等于3,4或5,因此它将落入使用else的所有其他方案中。

答案 1 :(得分:1)

value != 4while循环处理的条件。只要value不等于(!=)4,就会继续提示。

进入while循环后,可以输入一个数字。 然后检查数字(if-else if-else)并在其下面行。如果输入的数字不是4,例如2,value不等于4,则会提示您再次输入数字。

这将一直持续到您输入4。

我在代码示例中添加了一些注释(和大括号),希望它有助于澄清事情......

var value = null;
while (value != "4") {//While value is not 4 do the following code
  value = prompt("You! What is the value of 2 + 2?", "");//Get a value from the user
  if (value == "4"){//If value equals 4, then do the following
    alert("You must be a genius or something.");
  }//end of if block
  else if (value == "3" || value == "5"){//If value is equal to 3 or 5 then d0
    alert("Almost!");
  }//end of else-if block
  else{//If value is something we haven't explicitly checked for, then do this
    alert("You're an embarrassment.");
  }//end of else block
}//End of while loop

编辑 - 我对评论的回复太长了 这段代码的工作原理如下:
var value = null创建一个名为value的变量并将其设置为null while(value != 4){...whileblock...}(忽略while循环中的代码)虽然value不等于4,但执行whileblock代码 一旦我们进入while循环(这将发生,因为null不等于4),我们开始对其他代码进行操作 value = prompt("...");要求用户输入内容

if(value=="4"){...ifblock...}
else if(value=="3" || value=="5"){...ifelseblock...}
else{...elseblock...}

此块的操作方式如果:如果value等于4,则执行ifblock代码。如果我的值不等于4,则检查下一个组件if(value=="3"||value=="5")。这就是说,如果我的值是3,或者我的值是5,那么请执行ifelseblock中的代码。如果我们没有ifelseblock,请转到下一个组件,即else部分。也就是说,无论价值是多少都无关紧要,我们都做到了这一点,所以继续运行elseblock。 (当然,用相应的代码替换每个*block件) 现在它已经完成,while循环返回到顶部以查看是否应该继续执行whileblock代码。因此它会检查值是否等于4.如果value等于4,它将不会再次运行循环。如果value不是4,它将全部运行,该代码再次运行,请求提示,进行比较并显示相应的警告框。

我希望所有这些都有助于清除它。

答案 2 :(得分:0)

如果你输入4,它会说“你必须是天才或什么的。”。如果你键入3或5,它会说“几乎!”还有别的什么会说“你是一个尴尬的人”