逻辑运算符&& || !的使用

所谓逻辑运算符就是与&&、或||、非! 三种,逻辑运算符又叫条件运算符,即运算的结果只有两种,真(true)或假(false)。在进行逻辑运算学习前,我们先复习一下非Boolean类型转换为Boolean的规则:

  • 使用Boolean()函数
    (1)数字 --> 布尔
    除了0和NaN,其余都是true
    (2)字符串 --> 布尔
    除了空字符串,其余都是true
    (3)null和undefined都会转换为false
    (4)对象(Object)也会转换为true

! 非

  • ! 可以用来对一个值进行非运算
  • 所谓的非运算就是对一个布尔值进行取反操作,true变false,false变true
  • 如果对一个值进行两次取反,则还是它本身
  • 如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反,所以我们可以利用该特点,来将一个其他的数据类型转换为布尔值
  • 可以为一个任意数据类型取两次反,来将其转换为布尔值,原理和Boolean()函数一样。(转换类型在这里不继续做补充,大家要了解可以看一下我的前一篇博客JavaScript的强制类型转换(String Number Boolean)

&& 与

  • &&可以对符号两侧的值进行与运算并返回结果
  • 运算规则:
    (1)两个值中只要有一个值为false就返回false,只有两个值都为true时,才会返回true
    (2)JS中的“与”属于短路的与,如果第一个值为false,则不会再看第二个值。(当然不止在js中是这样,像C语言和java都是这个规则,只要第一个是false,则直接返回false,不再继续看你第二个是true还是false)
    例:
<script type="text/javascript">
	var a = false;
    var b = "123";
    var c = a && b;
    console.log(typeof c);
    console.log("c = " + c); 
</script>

运行结果:
在这里插入图片描述
(3)在进行与&&运算时
1.如果第一个值为true,则必然返回第二个值。如果两个值都为true,则返回后边的
例:

<script type="text/javascript">
	var a = 3;
    var b = 4;
    var c = a && b;
    console.log("c = " + c); 
</script>

运行结果:
在这里插入图片描述
2.如果两个值中有一个值false,则返回false的值,如果两个都是false,则返回靠前的false
例:

<script type="text/javascript">
	var a = 0;
    var b = 3;
    var c = a && b;
    console.log("c = " + c); 
</script>

运行结果:
在这里插入图片描述
例:

<script type="text/javascript">
	var a = 6;
    var b = 0;
    var c = a && b;
    console.log("c = " + c); 
</script>

运算结果:
在这里插入图片描述

|| 或

  • ||可以对符号两侧的值进行或运算并返回结果
  • 运算规则:
    (1)两个值中只要有一个true,就返回true,如果两个值都为false,才返回false
    (2)JS中的“或”属于短路的或,如果第一个值为true,则不会检查第二个值
    例:
<script type="text/javascript">
	var a = true;
    var b = false;
    var c = a || b;
    console.log(typeof c);
    console.log("c = " + c); 
</script>

运行结果:
在这里插入图片描述
(3)在进行或||运算时
1.如果第一个值为true,则直接返回第一个值
例:

<script type="text/javascript">
	var a = 6;
    var b = 0;
    var c = a || b;
    console.log("c = " + c); 
</script>

运行结果:
在这里插入图片描述

2.如果第一个值为false,则直接返回第二个值
例:

<script type="text/javascript">
	var a = 0;
    var b = 6;
    var c = a || b;
    console.log("c = " + c); 
</script>

运行结果:
在这里插入图片描述

总结:

总结来说,大家可以把与&&逻辑运算理解为如果一盒饼干,我吃了第一个会拉肚子,我肯定不会继续吃第二个。即只要第一个false,就不会看后面的值,直接返回false。只有全部都是好的,不会拉肚子的我才会吃完整盒,即只有都是true才会返回true。

|| 或运算大家也可以自己进行想象记忆,可以在与&&的基础上进行对比。

大家在进行逻辑运算学习的时候,一定一定要自己去敲一遍,多敲几遍,多试几个样例就记住运算规则了~

  • 43
    点赞
  • 179
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是只胖阿拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值