逻辑运算符&& || !的使用
程序员文章站
2022-03-11 09:11:22
所谓逻辑运算符就是与&&、或||、非! 三种,逻辑运算符又叫条件运算符,即运算的结果只有两种,真(true)或假(false)。在进行逻辑运算学习前,我们先复习一下非Boolean类型转换为Boolean的规则:使用Boolean()函数(1)数字 --> 布尔除了0和NaN,其余都是true(2)字符串 --> 布尔除了空字符串,其余都是true(3)null和undefined都会转换为false(4)对象(Object)也会转换为true! 非! 可...
所谓逻辑运算符就是与&&、或||、非! 三种,逻辑运算符又叫条件运算符,即运算的结果只有两种,真(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。
|| 或运算大家也可以自己进行想象记忆,可以在与&&的基础上进行对比。
大家在进行逻辑运算学习的时候,一定一定要自己去敲一遍,多敲几遍,多试几个样例就记住运算规则了~
本文地址:https://blog.csdn.net/weixin_46452134/article/details/111088221
上一篇: 匈牙利算法原理与二分图描述
下一篇: DHT11之Verilog 驱动代码