在 JavaScript 中用 !== 比较字符串
Compare strings with !== in JavaScript
我想通过提示比较用户输入的两个字符串。
如果我这样做
(栏 == "yes" || 栏 == "no")
它工作正常,但如果我使用 !==
(bar !== "yes" || bar !== "no")
程序return总是
警报("The second value must be \'yes\' or \'no\'");
即使我引入是或否作为第二个值。
do{
var values = window.prompt("Introduce a title, and \'yes\' o \'no\' separted with a comma.");
var longValues = values.length;
var comma = values.indexOf(",");
var title = values.substr(0,comma);
var bar = values.substr(comma+1,longValues);
var longTitle = title.length;
if (longTitle <3 || longTitle >30){
alert("The title must be greater than 3 characters and less than 30 characters");
}
else if (bar !== "yes" || bar !== "no"){
alert("The second value must be \'yes\' or \'no\'");
}
else{
alert("Correct!");
}
}while((longTitle <3 || longTitle >30) && (bar !=="yes" || bar !=="no"))
您的条件必须是 AND 而不是 OR。变化
if (bar !== "yes" || bar !== "no")
到
if (bar !== "yes" && bar !== "no")
如果您使用 OR,则您是在询问您的代码 bar
是否不等于 yes
或 bar
是否不等于 no
。如果bar
的值是yes
,那么第一个条件是false
,但是第二个条件是true
,所以结果是true
。如果 bar
是 no
,这同样有效 - 在这种情况下,第一个条件给出 true
,第二个条件给出 false
,所以结果也是 true
。
您想要的是在 bar
不是 yes
以及 bar
不是 no
.
时执行代码
我想通过提示比较用户输入的两个字符串。
如果我这样做 (栏 == "yes" || 栏 == "no")
它工作正常,但如果我使用 !==
(bar !== "yes" || bar !== "no")
程序return总是
警报("The second value must be \'yes\' or \'no\'");
即使我引入是或否作为第二个值。
do{
var values = window.prompt("Introduce a title, and \'yes\' o \'no\' separted with a comma.");
var longValues = values.length;
var comma = values.indexOf(",");
var title = values.substr(0,comma);
var bar = values.substr(comma+1,longValues);
var longTitle = title.length;
if (longTitle <3 || longTitle >30){
alert("The title must be greater than 3 characters and less than 30 characters");
}
else if (bar !== "yes" || bar !== "no"){
alert("The second value must be \'yes\' or \'no\'");
}
else{
alert("Correct!");
}
}while((longTitle <3 || longTitle >30) && (bar !=="yes" || bar !=="no"))
您的条件必须是 AND 而不是 OR。变化
if (bar !== "yes" || bar !== "no")
到
if (bar !== "yes" && bar !== "no")
如果您使用 OR,则您是在询问您的代码 bar
是否不等于 yes
或 bar
是否不等于 no
。如果bar
的值是yes
,那么第一个条件是false
,但是第二个条件是true
,所以结果是true
。如果 bar
是 no
,这同样有效 - 在这种情况下,第一个条件给出 true
,第二个条件给出 false
,所以结果也是 true
。
您想要的是在 bar
不是 yes
以及 bar
不是 no
.