我有一个中频状态
tempNum2 = 4, tempNum2 = 3
answer1 = 1, answer2 = 3, answer3 = 2, answer4 = 4
if( (tempNum2== answer2 || tempNum1== answer2) &&
(tempNum2!= answer1 || tempNum1!= answer1) &&
(tempNum2!= answer4 || tempNum1!= answer4) &&
(tempNum2!= answer3 || tempNum1!= answer3) &&
(asnwer5 == 0))
{
console.log("Correct");
}
现在查看if语句,tempNum2等于answer4,但是在我的firefox控制台中,它打印出Correct,查看if语句,它将失败。由于tempNum2为4,而answer4 = 4,因此此if语句应该失败,此语句有什么问题?不用担心其他任何事情,如果语句错误,我敢肯定我有这个。
帆布
最佳答案
您必须同时使用4和子句中的任何一个,因为您在各处都使用和。另外,我不知道答案5是什么,所以我不能这样说,但是尽管定义了,它也应该是正确的。如果将&&
更改为||,
,可能会起作用,但是我不知道您要使用哪种逻辑。
(false || false)&&
(true || true)&&
(true || false)&&
(true|| true)
false && true && true && true
我不知道您到底想要什么逻辑,但是您的代码完全按照您的要求执行。事实上:
(tempNum2== answer2 || tempNum1== answer2)
因此,除非
tempNum2= tempNum1= answer2
,否则此逻辑将始终返回false。