首页 > 编程知识 正文

逻辑运算符优先级,逻辑运算符的运算对象的数据类型

时间:2023-05-05 05:14:24 阅读:205090 作者:1036

所谓逻辑运算符就是与&&、或||、非! 三种,逻辑运算符又叫条件运算符,即运算的结果只有两种,真(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。

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

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。