【问题标题】:How to write OR in Javascript?如何用 Javascript 编写 OR?
【发布时间】:2012-08-29 06:28:52
【问题描述】:

OR 用 Ja​​vaScript 怎么写?

例子:

if ( age **or** name == null ){
    do something
}

【问题讨论】:

  • 什么语言可以让你做(age or name == null)
  • StackOverflow 不是学习语言最基本语法的好地方。尝试参考书或网站。
  • @Quentin 我的坏我才注意到它
  • @drderp 有几种语言允许或作为关键字。例如 Fortran。
  • @drderp COBOL 具有类似的表达式语法。

标签: javascript


【解决方案1】:
if (age == null || name == null) {

}

注意:您可能希望查看此线程 Why is null an object and what's the difference between null and undefined?,以了解有关 JS 中的空/未定义变量的信息。

【讨论】:

  • === 会好一点
  • 不要只检查空变量,它也可能是未定义的。见stackoverflow.com/questions/2559318/…
  • @pdjota undefined == null 是真的;您只需要区分您是否使用=== 或特别关心差异。
【解决方案2】:

简单使用:

if ( age == null || name == null ){    
    // do something    
}

不过,如果您只是测试变量是否有值('falsey' 也是如此,而不是等于 null),您可以改用:

if ( !age || !name ){    
    // do something    
}

参考资料:

【讨论】:

    【解决方案3】:

    您遇到的问题是这种方式或关联方式。 (age or name == null) 实际上是((age or name) == null),这不是你想说的。你想要((age == null) or (name == null))。如有疑问,请插入括号。如果您放入括号并进行评估,您会看到情况类似于(true == null)(false == null)

    【讨论】:

      【解决方案4】:

      我们在 JavaScript 中没有 OR 运算符, 我们使用 || 代替,在您的情况下...:

      if (age || name == null) {
        //do something
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多