我有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
无效..?
答案 0 :(得分:1)
您正在使用此条件
(modeAppelant == "ajout" && numContacts <= 0)
您的数据集中的确如此
val=2
modeAppelant="ajout"
numContacts=0
或条件会检查true
值,直到找到一个...相反 AND 将一直持续到#39} ;找到false
。如果它发现了错误的价值,它就不会走得更远。
答案 1 :(得分:1)
因为条件表达式的第二部分:
(modeAppelant == "ajout" && numContacts <= 0)
答案 2 :(得分:1)
false || true
将评估为true
。在您的情况下,(modeAppelant == "ajout" && val < 2)
为false
,(modeAppelant == "ajout" && numContacts <= 0)
为true
。因此,你的if条件被执行。