Javascript 如何运行程序直到用户给出特定答案(字符串+;#)
我正在制作一个JavaScript程序(用于娱乐),它会向用户询问多个问题。它提出的一个问题是“你喜欢红色(是/否)吗?”它会在提示框中弹出,但我只希望用户回答是或否。如果用户回答是或否之外的问题,我希望弹出一个提示框,并说“无效答案。请只输入是或否。”我希望该消息不断弹出,直到用户回答是或否。如果用户输入是,我希望弹出一个警告框,并说“我最喜欢的颜色也是红色!”如果用户未输入任何显示警报框“OK”。对不起,这是一个很长的问题,但我已经尽了最大努力。非常感谢您的帮助 代码:(接近我想要的功能)Javascript 如何运行程序直到用户给出特定答案(字符串+;#),javascript,Javascript,我正在制作一个JavaScript程序(用于娱乐),它会向用户询问多个问题。它提出的一个问题是“你喜欢红色(是/否)吗?”它会在提示框中弹出,但我只希望用户回答是或否。如果用户回答是或否之外的问题,我希望弹出一个提示框,并说“无效答案。请只输入是或否。”我希望该消息不断弹出,直到用户回答是或否。如果用户输入是,我希望弹出一个警告框,并说“我最喜欢的颜色也是红色!”如果用户未输入任何显示警报框“OK”。对不起,这是一个很长的问题,但我已经尽了最大努力。非常感谢您的帮助 代码:(接近我想要的功能)
我是否应该在那里使用某种while/for循环来不断重复代码,直到达到目标(是或否?应该将
var qtwo
移动到一个单独的行,并且所有剩余的代码(包括qtwo=prompt(…)
)应该用while(qtwo!=“yes”&&qtwo!=“no”)包装在一个块中
应将var qtwo
移动到单独的一行,所有剩余的代码(包括qtwo=prompt(…)
)应使用包装在一个块中,而(qtwo!=“yes”和&qtwo!=“no”)
应将var qtwo
移动到单独的一行,并将所有剩余的代码(包括qtwo=prompt(…)
)应该用包装在一个块中,而(qtwo!=“yes”&&qtwo!=“no”)
应该将var qtwo
移动到一个单独的行中,所有剩余的代码(包括qtwo=prompt(…)
)应该用包装在一个块中,而(qtwo!=“yes”&&qtwo!=“no”)
这是一个非常基本的解决方案。与您的代码相比没有太大变化
var qtwo = "";
while (qtwo != "yes" && qtwo != "no") {
qtwo = prompt(" Do you like the color red (Yes/No) " + name);
switch(qtwo) {
case "yes":
alert("I like the color red too!");
break;
case "no":
alert("Okay.");
break;
default:
alert("Invalid answer! Please type only yes or no.");
}
}
这里的主要内容是外部while循环。此外,您的
默认值
案例不应该具有它最初具有的if/else
。这是一个非常基本的解决方案。与您的代码相比没有太大变化
var qtwo = "";
while (qtwo != "yes" && qtwo != "no") {
qtwo = prompt(" Do you like the color red (Yes/No) " + name);
switch(qtwo) {
case "yes":
alert("I like the color red too!");
break;
case "no":
alert("Okay.");
break;
default:
alert("Invalid answer! Please type only yes or no.");
}
}
这里的主要内容是外部while循环。此外,您的
默认值
案例不应该具有它最初具有的if/else
。这是一个非常基本的解决方案。与您的代码相比没有太大变化
var qtwo = "";
while (qtwo != "yes" && qtwo != "no") {
qtwo = prompt(" Do you like the color red (Yes/No) " + name);
switch(qtwo) {
case "yes":
alert("I like the color red too!");
break;
case "no":
alert("Okay.");
break;
default:
alert("Invalid answer! Please type only yes or no.");
}
}
这里的主要内容是外部while循环。此外,您的
默认值
案例不应该具有它最初具有的if/else
。这是一个非常基本的解决方案。与您的代码相比没有太大变化
var qtwo = "";
while (qtwo != "yes" && qtwo != "no") {
qtwo = prompt(" Do you like the color red (Yes/No) " + name);
switch(qtwo) {
case "yes":
alert("I like the color red too!");
break;
case "no":
alert("Okay.");
break;
default:
alert("Invalid answer! Please type only yes or no.");
}
}
这里的主要内容是外部while循环。此外,您的
默认值
案例不应该具有它最初具有的if/else
。您需要将代码的提示部分包装在while循环中
最好将存储的响应转换为小写,以处理同一答案的多个版本,如“是”或“是”,以确保循环正确终止
您可能希望在while/switch语句中处理的其他常见情况可能是“y”表示是,“n”或默认的“nothing Answitch”情况
以下是一些可以用来构建的代码:
var qtwo = "";
while (qtwo !== 'yes' && qtwo !== 'no') {
qtwo = prompt(" Do you like the color red (Yes/No) " + name);
qtwo = qtwo.toLowerCase();
}
//执行任务您需要将代码的提示部分包装在while循环中 最好将存储的响应转换为小写,以处理同一答案的多个版本,如“是”或“是”,以确保循环正确终止 您可能希望在while/switch语句中处理的其他常见情况可能是“y”表示是,“n”或默认的“nothing Answitch”情况 以下是一些可以用来构建的代码:
var qtwo = "";
while (qtwo !== 'yes' && qtwo !== 'no') {
qtwo = prompt(" Do you like the color red (Yes/No) " + name);
qtwo = qtwo.toLowerCase();
}
//执行任务您需要将代码的提示部分包装在while循环中 最好将存储的响应转换为小写,以处理同一答案的多个版本,如“是”或“是”,以确保循环正确终止 您可能希望在while/switch语句中处理的其他常见情况可能是“y”表示是,“n”或默认的“nothing Answitch”情况 以下是一些可以用来构建的代码:
var qtwo = "";
while (qtwo !== 'yes' && qtwo !== 'no') {
qtwo = prompt(" Do you like the color red (Yes/No) " + name);
qtwo = qtwo.toLowerCase();
}
//执行任务您需要将代码的提示部分包装在while循环中 最好将存储的响应转换为小写,以处理同一答案的多个版本,如“是”或“是”,以确保循环正确终止 您可能希望在while/switch语句中处理的其他常见情况可能是“y”表示是,“n”或默认的“nothing Answitch”情况 以下是一些可以用来构建的代码:
var qtwo = "";
while (qtwo !== 'yes' && qtwo !== 'no') {
qtwo = prompt(" Do you like the color red (Yes/No) " + name);
qtwo = qtwo.toLowerCase();
}
//do stuff在这种情况下,我认为使用while循环没有问题“我应该在其中保留某种while/for循环吗”Yupalso,如果只有两种可能性,为什么不使用按钮、收音机或其他东西而不是键入呢?此外,您可能希望比较
qtwo.toLowerCase()
…否则,如果用户键入“是”,它将不匹配。一般来说,我建议将代码发布到以获取更多建议。我认为在这种情况下使用while循环没有问题“我应该在其中保留某种while/for循环吗”Yupalso,如果只有两种可能性,为什么不使用按钮、收音机或其他什么东西而不是键入呢?另外,如果用户键入“是”,您可能希望比较qtwo.toLowerCase()
…否则,它将不匹配。一般来说,我建议将代码发布到以获取更多建议。我认为在这种情况下使用while循环没有问题“我应该在其中保留某种while/for循环吗”Yupalso,如果只有两种可能性,为什么不使用按钮、收音机或其他东西而不是键入呢?此外,您可能希望比较qtwo.toLowerCase()
…否则,如果用户键入“是”,则不匹配。通常,我建议