逻辑运算符

作者: h5溧水大表哥 | 来源:发表于2019-07-01 01:07 被阅读0次

逻辑运算符: ! && || 优先级关系:! && ||
布尔操作符(逻辑操作符)
布尔操作符有3种: &&(与)、||(或)、 ! (非)
&&(与) :找第一个为false的值并返回
表达式1 && 表达式2 && 表达式3 && .......
返回只有两种结果 true false
当表达式1和表达式2 都为true的时候, 结果为true

    document.write(true && true && true );
image.png

只要有一个条件不成立,返回false

    document.write(true && false && true );
image.png

说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,此时它遵循下列规则:
1、如果第一个操作数隐式类型转换后为true,则返回第二个操作数

    document.write(54 && 38 );
image.png

2、如果第一个操作数隐式类型转换后为false,则返回第一个操作数

    document.write(0 && 38 );
image.png

3、如果有一个操作数是null,则返回null

    document.write(38 && null );
image.png

4、如果有一个操作数是NaN,则返回NaN

    document.write(38 && NaN );
image.png

5、如果有一个操作数是undefined,则返回undefined

    document.write(38 && undefined );
image.png

&&:两边都成立,才成立. 如果前面有一个不成立就返回不成的值。如果都成立,返回最后成立的那个值
返回的是起决定性作用的那个值

||(或):找第一个为true的值并返回
表达式1 || 表达式2
返回只有两种结果 true false
表达式1和表达式2 有一个为true,结果为true
只要有一个条件成立,返回true

    document.write(false || false || true );
image.png

说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,此时它遵循下列规则:
1、如果第一个操作数隐式类型转换后为true,则返回第一个操作数

    document.write(48 || 0);
image.png

2、如果第一个操作数隐式类型转换后为false,则返回第二个操作数

    document.write(false || 0);
image.png

3)、如果两个操作数是null,则返回null

    document.write(null || null);
image.png

4、如果两个操作数是NaN,则返回NaN

    document.write(NaN || NaN);
image.png

5、如果两个操作数是undefined,则返回undefined

    document.write(undefined || undefined);
image.png

总结: 几乎所有语言中||和&&都遵循“短路”原理,我们可以总结为&&找到假的就停止寻找,||找到真的就停止寻找,如果找不到,就返回最后一个

! (非)(取反)
说明:
1、无论操作数是什么数据类型,逻辑非都会返回一个布尔值
2、逻辑非操作符首先会将它的操作数转换为一个布尔值,然后再 对其求反。

    document.write(!NaN);
image.png

3、同时使用两个逻辑非操作符时,第一个逻辑非操作会基于无论什么操作数返回一个布尔值,而第二个逻辑非则对该布尔值求反。

    document.write(!!NaN);
image.png

小编能力有限,存在不足或不全,请大家指出,共同学习与交流。

相关文章

  • 1.4.运算符

    按功能分为: 算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 其他运算符 ---------- 逻辑运算...

  • JavaScript逻辑运算符与赋值运算符

    逻辑运算符 JavaScript中有三个逻辑运算符,&&与、||或、!非。 JavaScript 中的逻辑运算符可...

  • 1.3 Python 运算符

    1.3.1 算数运算符 1.3.2 关系运算符 1.3.3 赋值运算符 1.3.4 逻辑运算符 注: 逻辑运算优先...

  • day05赋值运算符.三元运算符.三元运算符在分页业务逻辑中使用

    赋值运算符 比较运算符 三元运算符 三元运算符在分页业务逻辑中使用 逻辑运算符

  • 逻辑运算符

    赋值运算符 比较运算符 先运算再比较 逻辑运算符 比较大于逻辑!,&&,|| 单目运算符(!++ -- & ) 大...

  • 03-基本运算

    运算符可以分为:算术运算符、比较运算符和逻辑运算符。 优先级是:算术运算符>比较运算符>逻辑运算符。 不过呢,开始...

  • 03-基本运算

    运算符可以分为:算术运算符、比较运算符和逻辑运算符。优先级是:算术运算符>比较运算符>逻辑运算符。不过呢,开始没背...

  • 【Python】运算符

    基本运算符 比较运算符 逻辑运算符

  • 运算符

    算术运算符 + - * / % ++ -- 比较运算符 ><<=>= == 逻辑运算符 & &&| ||^! &...

  • 第三章的语法条件判断

    3.1.7 逻辑运算符 1、逻辑与运算符&& 逻辑与运算符是一个二元运算符,因为它合并两个逻辑表达式,即两个值为t...

网友评论

    本文标题:逻辑运算符

    本文链接:https://www.haomeiwen.com/subject/dboicctx.html