当答案是多个条件之一时,我该怎么做才能执行代码?
What can I do to make code be executed while the answer is one of a multiple conditions?
我试图让代码在 x 时运行,由提示确定是四个答案之一。只有一种可能性它运行良好,但是当我使用 && 添加更多时,程序什么都不做。 (在程序结束时我休息一下,只执行一次代码)
这是程序工作原理的简短版本...
var x = prompt("Ready?");
while(x == "yes"){
window.alert("...Example...");
break;
}
以及我想怎么做但行不通...
var x = prompt("Ready?")
while(x == "Yes" && x == "yes" && x == "yeS" && x == "YES")
window.alert("...Example...");
break;
}
我该怎么做才能让它发挥作用?
使用||
代替&&
,不需要while
语句,使用if
代替:
var x = prompt("Ready?")
if (x === "Yes" || x === "yes" || x == "yeS" || x == "YES") {
window.alert("...Example...");
}
||
表示“或”,即至少有一个条件为真。如果使用“and”,则意味着所有的条件都需要为真,这不可能有效。
我会在比较之前使用 .toLowerCase()
,这样您就不必处理所有不同的大写方式。
var input = prompt("Ready?");
var x = input.toLowerCase();
while( x == "yes" )
window.alert("...Example...");
break;
}
然后,如果您只需要 yes
或 no
作为选项,我会使用 window.confirm
而不是 window.prompt
。
编辑:嗯,如果问题是答案必须以这 4 种方式之一写成是,我会选择数组方法,以便您稍后可以添加其他选项:
var allowed_answers = [ 'yes', 'Yes', 'yeS', 'YES' ];
if ( allowed_answers.includes( x ) ) {
}
也许你正在尝试这样做
do{
var x = prompt("Ready?").toLowerCase();
//toLowerCase() method convert (YES, Yes, yeS, etc) to (yes)
if(x === "yes"){
//If the condition is true, the loop breaks
window.alert("...Example...");
break;
}
}while(true)
我试图让代码在 x 时运行,由提示确定是四个答案之一。只有一种可能性它运行良好,但是当我使用 && 添加更多时,程序什么都不做。 (在程序结束时我休息一下,只执行一次代码)
这是程序工作原理的简短版本...
var x = prompt("Ready?");
while(x == "yes"){
window.alert("...Example...");
break;
}
以及我想怎么做但行不通...
var x = prompt("Ready?")
while(x == "Yes" && x == "yes" && x == "yeS" && x == "YES")
window.alert("...Example...");
break;
}
我该怎么做才能让它发挥作用?
使用||
代替&&
,不需要while
语句,使用if
代替:
var x = prompt("Ready?")
if (x === "Yes" || x === "yes" || x == "yeS" || x == "YES") {
window.alert("...Example...");
}
||
表示“或”,即至少有一个条件为真。如果使用“and”,则意味着所有的条件都需要为真,这不可能有效。
我会在比较之前使用 .toLowerCase()
,这样您就不必处理所有不同的大写方式。
var input = prompt("Ready?");
var x = input.toLowerCase();
while( x == "yes" )
window.alert("...Example...");
break;
}
然后,如果您只需要 yes
或 no
作为选项,我会使用 window.confirm
而不是 window.prompt
。
编辑:嗯,如果问题是答案必须以这 4 种方式之一写成是,我会选择数组方法,以便您稍后可以添加其他选项:
var allowed_answers = [ 'yes', 'Yes', 'yeS', 'YES' ];
if ( allowed_answers.includes( x ) ) {
}
也许你正在尝试这样做
do{
var x = prompt("Ready?").toLowerCase();
//toLowerCase() method convert (YES, Yes, yeS, etc) to (yes)
if(x === "yes"){
//If the condition is true, the loop breaks
window.alert("...Example...");
break;
}
}while(true)