我自己有一个 IF 状态,
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语句应该会失败,这个语句有什么问题呢?别担心其他任何事情,我确定我的 if 语句有误。
Canvas
最佳答案
您必须拥有所有 4 个 or 子句中的一个,因为您在各处都使用了 and。另外,我不知道答案 5 是什么,所以我不能这么说,但它也应该是正确的,无论它是如何定义的。如果您将 &&
更改为 ||,
可能会起作用,但我不知道您正在尝试使用什么逻辑。
(false || false)&&
(true || true)&&
(true || false)&&
(true|| true)
false && true && true && true
我不知道您到底想要什么逻辑,但您的代码完全按照您的要求执行。事实上:
(tempNum2== answer2 || tempNum1== answer2)
因此,除非 tempNum2= tempNum1= answer2
,否则此逻辑将始终返回 false。
关于Javascript 奇怪的 If 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13564324/