使用户输入值的JavaScript if/else语句

使用户输入值的JavaScript if/else语句,javascript,loops,if-statement,Javascript,Loops,If Statement,您将如何使if/else语句循环回到开头以获取用户信息 这是我到目前为止得到的代码: var age = prompt("Please enter your age"); if(age == 21 ) { alert("Happy 21st Birthday!"); } else if (age > 21 ) { alert("You are old"); } else { alert("Please enter an age"); } 我试图让它回到开头,让

您将如何使
if
/
else
语句循环回到开头以获取用户信息

这是我到目前为止得到的代码:

var age = prompt("Please enter your age");

if(age == 21 ) {
    alert("Happy 21st Birthday!");
} else if (age > 21 ) {
    alert("You are old");
} else { 
    alert("Please enter an age");
}
我试图让它回到开头,让用户输入信息。

var age='';
var age = '';
while(age == '' || age == 'ok'){   
   age = prompt("Please enter your age");
   if($.isNumeric(age) === false){
       continue;
   }
   if(age == 21 ){
        alert("Happy 21st Birthday!");
        continue;
   }
   if (age > 21 ){
        alert("You are old");
        continue;
   }
   if (age < 21){ 
       alert("You are too young to be in this bar!");  
   }
}
而(年龄=“”| |年龄='ok'){ 年龄=提示(“请输入您的年龄”); 如果($.isNumeric(年龄)==false){ 继续; } 如果(年龄=21岁){ 警惕(“21岁生日快乐!”); 继续; } 如果(年龄>21岁){ 警惕(“你老了”); 继续; } 如果(年龄<21岁){ 警惕(“你太年轻了,不能在这个酒吧里!”; } }
var age='';
而(年龄=“”| |年龄='ok'){
年龄=提示(“请输入您的年龄”);
如果($.isNumeric(年龄)==false){
继续;
}
如果(年龄=21岁){
警惕(“21岁生日快乐!”);
继续;
}
如果(年龄>21岁){
警惕(“你老了”);
继续;
}
如果(年龄<21岁){
警惕(“你太年轻了,不能在这个酒吧里!”;
}
}

将验证逻辑与用户输入逻辑分开

如果这是控制台应用程序,那么您将在提示符周围放置一个循环,然后验证用户年龄,如果年龄有效,则中断循环,否则让循环继续

在网页上,您可以将其包装在函数中,并根据结果根据年龄是否正确来操作视图。因此,如果年龄无效,您可能会显示一条错误消息,如果年龄有效,则转到下一页


您应该将构成验证逻辑的if语句封装到一个函数中,该函数可能会validateAge返回true或false,这样无论您实现什么,都可以使用相同的方法

将验证逻辑与用户输入逻辑分开

如果这是控制台应用程序,那么您将在提示符周围放置一个循环,然后验证用户年龄,如果年龄有效,则中断循环,否则让循环继续

在网页上,您可以将其包装在函数中,并根据结果根据年龄是否正确来操作视图。因此,如果年龄无效,您可能会显示一条错误消息,如果年龄有效,则转到下一页


您应该将构成验证逻辑的if语句封装到一个函数中,该函数可能会validateAge返回true或false,这样无论您实现什么,都可以使用相同的方法

使用
while
循环处理@wallyk的建议,得到以下示例:

var-age=false;
而(!年龄){
年龄=提示(“请输入您的年龄”);
如果(年龄=21岁){
警惕(“21岁生日快乐!”);
}否则,如果(年龄>21岁){
警惕(“你老了”);
}否则如果(!!年龄和年龄<21岁){
警惕(“你还年轻”);
}否则{
警告(“请输入年龄”);
年龄=假;
}

}
使用
循环处理@wallyk的建议,而
循环产生以下示例:

var-age=false;
而(!年龄){
年龄=提示(“请输入您的年龄”);
如果(年龄=21岁){
警惕(“21岁生日快乐!”);
}否则,如果(年龄>21岁){
警惕(“你老了”);
}否则如果(!!年龄和年龄<21岁){
警惕(“你还年轻”);
}否则{
警告(“请输入年龄”);
年龄=假;
}

}
Make it loop通过循环包围语句:
while(未回答){if(age==21)
…`}`通过循环包围语句,Make it loop的可能重复:
while(未回答){if(age==21)
…`}` while(true)
的可能重复将永远保持循环,不?是的,会的。您希望它随时停止吗?OP没有指定,但听起来好像他们希望它循环,直到用户回答问题。它现在将停止询问您是否21岁或更大。酒吧里应该是这样的。但是如果一个<21岁的人尝试使用它,他们将得到一个无休止的循环。
而(true)
将永远循环,不是吗?是的。您希望它随时停止吗?OP没有指定,但听起来好像他们希望它循环,直到用户回答问题。它现在将停止询问您是否21岁或更大。酒吧里应该是这样的。但是如果一个<21岁的人尝试使用它,他们会得到一个无休止的循环。
for (let age = prompt('Please enter your age'); ;) {
  if (age == 21) {
    alert('Happy 21st Birthday!');
    break;
  } else if (age > 21) {
    alert('You are old');
    break;
  } else {
    age = prompt('Please enter your age');
  }
}