不应该有||而不是&&在这里?

时间:2020-09-26 16:10:53

标签: javascript

代码运行良好,所有代码都很好,但是我对于为什么有AND语句而不是OR感到困惑。这两个条件不必都等于true ...只需一个条件。

var apple = prompt("we there?");
while (apple !== "yes" && apple !== "yeah") {
  var apple = prompt("we thereeee?");

  alert("welcome here");

3 个答案:

答案 0 :(得分:4)

否,此条件表示如果apple的值不是yes或yeah,则该语句应运行。因为条件是!== (not equal)

因此,如果不是“是”或“是”,则该条件为真。

另一方面,如果存在或条件,则意味着如果苹果不是“是”或不是,那么条件为真。但是可以这样想,尽管apple的值不是yes(因此第一部分为true),但是stil的值可能是yeah,这在这里并不期望

答案 1 :(得分:2)

在您的文字中,您描述的是while循环中条件的否定。 while循环中的条件表示无效内容,而文本则表示有效内容。 while循环的条件是说“当它无效有效时:获取新的输入”

在布尔逻辑中,negation of a disjunction (an OR) is the conjunction (AND) of the negations

因此while条件也可以写为:

while ( !(apple === "yes" || apple == "yeah") ) {

...与您所描述的相对应,但等效。请注意其他否定!(否)和否定比较(===)。

答案 2 :(得分:1)

这是经验法则问题...如果存在不等于检查的条件,则使用OR意味着其中一个条件将始终为真...因此,我们需要AND而不是OR进行NOT EQUAL TO进行大于等于的检查一个条件...总是:)

相关问题