Javascript 如何运行程序直到用户给出特定答案(字符串+;#)

Javascript 如何运行程序直到用户给出特定答案(字符串+;#),javascript,Javascript,我正在制作一个JavaScript程序(用于娱乐),它会向用户询问多个问题。它提出的一个问题是“你喜欢红色(是/否)吗?”它会在提示框中弹出,但我只希望用户回答是或否。如果用户回答是或否之外的问题,我希望弹出一个提示框,并说“无效答案。请只输入是或否。”我希望该消息不断弹出,直到用户回答是或否。如果用户输入是,我希望弹出一个警告框,并说“我最喜欢的颜色也是红色!”如果用户未输入任何显示警报框“OK”。对不起,这是一个很长的问题,但我已经尽了最大努力。非常感谢您的帮助 代码:(接近我想要的功能)

我正在制作一个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()
…否则,如果用户键入“是”,则不匹配。通常,我建议