Javascript 奇怪的 If 语句不起作用

标签 javascript

我自己有一个 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/

相关文章:

javascript - 如果图像尚未完全加载,插入加载器图标的最佳方法是什么?

javascript - "replaceWith"不改变内容

javascript - 如何使用带有 angular.js 和 Angular Material 的 ngif 从 DOM 中隐藏元素?

javascript - d3 v4 中的二维画笔

javascript - 单击时从子函数返回父函数

javascript - window.open React Native WebView

javascript - instanceof 在 Node 4 中计算为真,但在 Node 6 中不计算

javascript - Nodejs 将 base64 作为图像

javascript - 如何理解窗口对象上的事件监听器执行?

javascript - 何时使用 jquery 将函数分配给变量