布尔逻辑:如何在一个语句中正确链接if else(inste和两个嵌套的if语句)

Boolean Logic: How to chain if else correctly in one statement (insteand two nested if statements)

提问人:Ehrlich_Bachman 提问时间:7/15/2021 最后编辑:VLAZEhrlich_Bachman 更新时间:7/15/2021 访问量:196

问:

我构建了一个带有变量“from”和“to”的日期过滤器。

我发现,如果我把一个 if else 放到另一个 if else 中,这很重要(我猜这不是真的,但现在是我的情况)。

虽然这行不通......

if (
  (from !== null || to !== null) &&
  (...some more if elses)
) {
  some code
}

...这有效......

if ((from !== null || to !== null)) {
  if (
    some more if elses
  ) {
  some code
}

...为什么?

完整示例(如果以下内容优于前一个示例):

if (from !== null || to !== null) {
  if (
    (from && to === null && dataItemDate >= from) ||
    (to && from === null && dataItemDate <= to) ||
    (from && to && dataItemDate >= from && dataItemDate <= to)
  ) {
    matchAllFilters = true;
  } else {
    matchAllFilters = false;
  }
}
javascript if-statement 布尔逻辑

评论

0赞 VLAZ 7/15/2021
嵌套与使用 .如果它的工作方式不同,这可能是编写条件时的错误或您使用的语言的怪癖。if&&
0赞 Ehrlich_Bachman 7/15/2021
伟大。至少这是有道理的......它是用 JavaScript 编写的,完整的代码被添加到描述中。我做错了什么吗?
0赞 VLAZ 7/15/2021
究竟什么值会给你不同的结果?这是我尝试过的,似乎它们的行为相同。
0赞 aioobe 7/16/2021
@Ehrlich_Bachman请提供最小的复制器

答: 暂无答案