Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这个IF/OR语句的语法是否错误?_Javascript_If Statement - Fatal编程技术网

Javascript 这个IF/OR语句的语法是否错误?

Javascript 这个IF/OR语句的语法是否错误?,javascript,if-statement,Javascript,If Statement,这个代码有什么问题 var variable = prompt("Choose answer1, answer2, answer3 or answer4"); if ((variable !== "answer1") || (variable !== "answer2") || (variable !== "answer3") || (variable !== "answer4")) { return "You must choose one of these four options!

这个代码有什么问题

var variable = prompt("Choose answer1, answer2, answer3 or answer4");
if ((variable !== "answer1") || (variable !== "answer2") || (variable !== "answer3") || (variable !== "answer4")) {
    return "You must choose one of these four options!"
}

您当前的解决方案将始终为真,因为变量不会总是同时为所有答案

您可以使用==而不是!==然后否定整个表达式:

if (!((variable == "answer1") || (variable == "answer2") || (variable == "answer3") || (variable == "answer4"))) {
或使用并代替或

if ((variable !== "answer1") && (variable !== "answer2") && (variable !== "answer3") && (variable !== "answer4")) {

在这两种情况下,如果不是任何答案,则表达式为真;如果是一个答案,则表达式为假。

应该是!=对吧?@JeffLee首先,请永远不要再使用w3schools,其次,
==
是一个非常有效的JavaScript操作符。您希望发生什么?您需要使用and而不是or。另外:@serakfalcon我想返回一句话,如果用户写的答案与我要求他选择的选项不同,那么你的
示例是否总是产生
false
?我尝试过,但没有成功。。。即使使用等值运算符或类型运算符(我不知道是否正确使用)…让我们看看对于变量未给出答案,所有4个都将为真,因此它将为真。如果变量==“answer1”变量!==“答案1”是错误的,因此整个事情都是错误的。你试过这两种方法中的哪一种?因为这两部作品都是“见即信”^^^皮特你让我盯着它看了一分钟,试图找到我错过的东西^^^(当时是早上4:50,大约在咖啡前10分钟……)