【问题标题】:What's the difference between && and || in JavaScript? [duplicate]&& 和 || 有什么区别?在 JavaScript 中? [复制]
【发布时间】:2017-03-03 12:02:27
【问题描述】:

这是我看到的完美插图。

&&

if (num > 5 && num < 10) {
return "Yes";
}
return "No";

||

if (num > 10 || num < 5) {
return "No";
}
return "Yes";

这两者有什么区别?

【问题讨论】:

  • || - 任何条件为真 - 真。 && 所有条件为真 - 真。
  • 与 & 或。基本运算符。
  • 嗯,基本的东西。这个网站上有多个答案,例如:stackoverflow.com/questions/41176040/…。但仍然欢迎 SO。 MDN.
  • var num = 6; if (num > 5 && num++

标签: javascript logical-operators


【解决方案1】:

它们是 AND (&&) 和 OR (||) 运算符。

在您的第一个示例中,仅当 num 大于 5 且小于 10 时响应才会为“是”,因此 num 的任何介于 5 和 10 之间(仅)的值都将返回“是”。

在您的第二个示例中,如果 num 大于 10 或小于 5,则将返回“否”,因此介于 5 和 10(含)之间的任何值都将返回“是”。

【讨论】:

  • 我能想到一个大于 5 且小于 10 的数字。
  • 检查编辑 - 我误读了第一个示例。我很抱歉。
【解决方案2】:

为了表达

num > 5 && num < 10

否定的,

!(num > 5 && num < 10)

你需要申请De Morgan's law

!(num > 5) || !(num < 10)

并反转括号内的条件

num <= 5 || num >= 10

在您的问题中,您的表达式为逻辑或 ||

num > 10 || num < 5

即,尽管有顺序,但显然与上面的表达式不一样。比较值的结果不一样。

【讨论】:

    猜你喜欢
    • 2011-12-29
    • 2021-10-29
    • 2016-10-14
    • 2018-06-03
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2011-05-15
    相关资源
    最近更新 更多