逻辑或和逻辑与

逻辑或和逻辑与逻辑与和逻辑或逻辑或逻辑或由两个 表示 有两个操作数逻辑或的真值表示如下 第一个操作数第二个操作数结果 truetruetrue 逻辑或操作符可以应用任何类型的操作数 而不仅仅是布尔值 如果有一个操作数不是布尔值 逻辑或也不一定返回布尔值 遵循以

逻辑与和逻辑或

逻辑或

逻辑或由(||)表示,有两个操作数

逻辑或的真值表示如下:

第一个操作数 第二个操作数 结果
true true true
true false true
false true true
false false false

逻辑或操作符可以应用任何类型的操作数,而不仅仅是布尔值。如果有一个操作数不是布尔值,逻辑或也不一定返回布尔值。遵循以下规则

  • 如果第一个操作数是对象,则返回第一个操作数
  • 如果第一个操作数的求值结果返回为false但第二个操作数是对象,则返回第二个操作数
  • 如果两个操作数都是对象,则返回第一个操作数
  • 如果两个操作数都是null,则返回null
  • 如果两个操作数都是NaN,则返回NaN
  • 如果两个操作数都是undefined,则返回undefined、

逻辑或操作符是短路操作符。

console.log(a || 2); //ReferenceError: a is not defined console.log(2 || a); //2, 因为是短操作符,第一个操作符2为true,第二个操作符不会执行(这里的变量a是未定义的变量) console.log(2 || 1); //2,第一个操作符2是true,直接返回2,不会管第二个操作数 console.log(0 || 2); //2,第一个操作符0时false,会计算第二个操作数 console.log(2 || 0); //2,第一个操作符2是true,直接返回2,不会管第二个操作数 console.log(2 || 3); //2,第一个操作符2是true,直接返回2,不会管第二个操作数 console.log(NaN || NaN); //NaN console.log(null || null); //null console.log(undefined || undefined); //undefined 

逻辑与

逻辑与操作符由(&&)表示,有两个操作数

第一个操作数 第二个操作数 结果
true true true
true false false
false true false
false false false

逻辑与操作符可以应用于任何类型的操作数,而不仅仅是布尔值。在有一个操作符不是布尔值的情况下,逻辑与操作就不一定返回布尔值。遵循以下规则

  • 如果第一个操作数是对象,则返回第二个操作数
  • 如果第二个操作数时对象,则只有第一个操作数的求值结果为true的情况下才会返回该对象
  • 如果两个操作数都是对象,则返回第二个操作数
  • 如果有一个操作数是null,则返回null
  • 如果有一个操作数是NaN,则返回NaN
  • 如果有一个操作数是undefined,则返回undefined

逻辑与是短路操作符

console.log(a && 0); // ReferenceError: a is not defined console.log(0 && a); //0, 因为是短操作符,第一个操作符0为false,第二个操作符不会执行(这里的变量a未定义) console.log(2 && 1); //1,第一个操作数2是true,会计算第二个操作数,返回第二个操作数1 console.log(0 && 2); //0,第一个操作数0是false,直接返回0,不会管第二个操作数 console.log(2 && 0); //0,第一个操作数2是true,会计算第二个操作数 console.log(2 && 3); //3,第一个操作数2是true,会计算第二个操作数,第二个操作数3是true,返回3 console.log(NaN && NaN); //NaN,第一个操作数是NaN,不会管第二个操作数 console.log(null && null); //null,第一个操作数时null,不会管第二个操作数 console.log(undefined && undefined); //undefined,第一个操作数时undefined,不会管第二个操作数 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228767.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午6:15
下一篇 2026年3月16日 下午6:15


相关推荐

  • NLP︱高级词向量表达(二)——FastText(简述、学习笔记)「建议收藏」

    NLP︱高级词向量表达(二)——FastText(简述、学习笔记)「建议收藏」FastText是Facebook开发的一款快速文本分类器,提供简单而高效的文本分类和表征学习的方法,不过这个项目其实是有两部分组成的,一部分是这篇文章介绍的fastText文本分类(paper:A.Joulin,E.Grave,P.Bojanowski,T.Mikolov,BagofTricksforEfficientTextClassif…

    2022年4月27日
    49
  • java线程详解(史上最全)

    java线程详解(史上最全)根据本人多年从业以及学习经验,录制了一套最新的Java精讲视频教程,如果你现在也在学习Java,在入门学习Java的过程当中缺乏系统的学习教程,你可以加QQ群654631948领取下学习资料,面试题,开发工具等,群里有资深java老师做答疑,每天也会有基础部分及架构的直播课,也可以加我的微信renlliang2013做深入沟通,只要是真心想学习Java的人都欢迎。java基础教程:https:…

    2022年7月8日
    27
  • 转:在线检测网页错误工具

    转:在线检测网页错误工具

    2021年8月25日
    54
  • java中StringBuilder的用法小结

    java中StringBuilder的用法小结java 中 StringBuilde 的用法小结

    2026年3月26日
    2
  • 程序员自学网站推荐

    程序员自学网站推荐1 CSDN CSDN 专业开发者社区 CSDN 是国内非常知名的技术交流社区 创建的时间也比较早 所以在国内也很有影响力 并且 CSDN 还是有非常多很优质的原创文章与资料 对于程序员来讲经常来这边逛逛也会学到不少知识的 2 ImportNew import JavaScript MDN mozilla org 对于 java 有一定基础的人来说不错 一些 java 的最新技术随时更新 其中很多文章都写的很好 并且有图片插图进行说明 3 全智网 全智网 中国最全的人工智能网址

    2026年3月18日
    1
  • MBT简述:基于模型的测试

    MBT简述:基于模型的测试参考 1 http blog csdn net TMQ1225 article details http tmq com 2016 12 graphwalker 3 http www jianshu com p be4a2e7f60af 就是一个基于测试模型的用例生成工具 它主要应用于 FSM EFSM 模型 可以用来它可以直接读取 F

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号