我有一个中频状态

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。

09-26 23:04