我的if条件的执行

The execution of my if condition

本文关键字:执行 条件 if 我的      更新时间:2023-09-26

我有这个javascript条件:

if((modeAppelant == "ajout" && val < 2) || (modeAppelant == "ajout" && numContacts <= 0)){
    check = false;
    alert("Vous devez saisir au moins un contact");
}

例如,当我有:

  • val=2
  • modeAppelant="ajout"
  • numContacts=0

无论如何,我在if的条件下进入,为什么?

我的OR不工作。。?

因为条件表达式的第二部分:

(modeAppelant == "ajout" && numContacts <= 0)

这是因为您正在使用此条件

(modeAppelant == "ajout" && numContacts <= 0)

从你的数据集来看,这是真的

  • val=2
  • modeAppelant="ajout"
  • numContacts=0

OR条件将检查true值,直到找到一个值。。相反,AND将继续,直到找到false为止。如果它发现了一个错误的值,它不会更进一步。

false || true将计算为true。在您的情况下,(modeAppelant == "ajout" && val < 2)false,但(modeAppelant == "ajout" && numContacts <= 0)true。因此,执行if条件。