我试图这样做,以便即使有人进入EXIT ExIt,EXit等,我也可以退出该程序。我尝试将它放在字符串开头的var输入的末尾。在"}中的字符串末尾,而#34;声明,它仍然没有让它工作。有谁知道我应该把它放在哪里?
<!DOCTYPE html>
<html>
<head>
<title>Project 1 – Michael Fiorello</title>
</head>
<body>
<h1>Robot Speak</h1>
<script>
do{
var input = prompt ("Please enter 1, 2, 3, or exit.");{
if (input == "1")
{
alert ("THANKS!")
}
else if (input == "2")
{
alert ("COOL!")
}
else if (input == "3")
{
alert ("AWESOME!")
}
else if (input == "exit")
{
alert ("Okay")
}
else
{
alert ("You need to enter something")
console.warn("You need to enter something");
}
}
}while(input != "exit")
</script>
</body>
</html>
答案 0 :(得分:1)
else if (input.toLowerCase() == "exit")
{
alert ("Okay")
}
正如评论中所指出的,如果用户取消提示,结果将为null
。要抓住这种情况,你应该在来到我上面写的那行之前测试这个值:
if (input == null){
handleCancel();
}
...
else if (input.toLowerCase() == "exit")
{
alert ("Okay")
}
如果你想要&#34;退出&#34;并且当按程序终止时按下取消按钮,您开始测试该情况:
var goOn = true;
while(goOn){
var input = prompt ("Please enter 1, 2, 3, or exit.");
if (input == null || input == "exit")
{
goOn = false;
// handle cancel
}
else if (input == "1")
{
alert ("THANKS!")
}
else if (input == "2")
{
alert ("COOL!")
}
else if (input == "3")
{
alert ("AWESOME!")
}
}
答案 1 :(得分:0)
toLowerCase()
。
为了减少比较的数量,你也可以在达到所需的响应时使用一个中断的无限循环。
您还在提示后添加了一个额外的不需要的块。这可能会被删除。
while (true) {
var input = prompt("Please enter 1, 2, 3, or exit.");
if (input == null){
// Handle failure to specify a value
} else if (input == "1") {
alert("THANKS!");
} else if (input == "2") {
alert("COOL!");
} else if (input == "3") {
alert("AWESOME!");
} else if (input.toLowerCase() == "exit") {
alert("Okay");
break;
} else {
alert("something else");
console.warn("You need to enter something");
}
}