JS基础_逻辑运算符

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <script type="text/javascript">
 7             
 8             /*
 9              * JS中为我们提供了三种逻辑运算符
10              * ! 非
11              *     - !可以用来对一个值进行非运算
12              *     - 所谓非运算就是指对一个布尔值进行取反操作,
13              *         true变false,false变true
14              *     - 如果对一个值进行两次取反,它不会变化
15              *     - 如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反
16              *         所以我们可以利用该特点,来将一个其他的数据类型转换为布尔值
17              *         可以为一个任意数据类型取两次反,来将其转换为布尔值,原理和Boolean()函数一样
18              * 
19              * && 与
20              *     - &&可以对符号两侧的值进行与运算并返回结果
21              *     - 运算规则
22              *         - 两个值中只要有一个值为false就返回false,
23              *             只有两个值都为true时,才会返回true
24              *         - JS中的“与”属于短路的与,
25              *             如果第一个值为false,则不会看第二个值
26              * 
27              * || 或
28              *     - ||可以对符号两侧的值进行或运算并返回结果
29              *     - 运算规则:
30              *         - 两个值中只要有一个true,就返回true
31              *             如果两个值都为false,才返回false
32              *        - JS中的“或”属于短路的或
33              *             如果第一个值为true,则不会检查第二个值
34              */
35             
36             var a = false;
37             //对a进行非运算
38             a = !a;
39             console.log(a);//true
40             
41             
42             //如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反
43             var b = 10;
44             b = !!b; 
45             console.log(b); //true
46             console.log(typeof b); //boolean
47             
48             //------------------------------------------------------------------------
49             
50             //如果两个值都是true则返回true
51             var result = true && true;
52             console.log(result); //true
53             
54             //只要有一个false,就返回false
55             result = true && false;
56             result = false && true;
57             result = false && false;
58             console.log(result); //false
59             
60             //第一个值为true,会检查第二个值
61             true && alert("看我出不出来!!");//可以弹窗
62             
63             //第一个值为false,不会检查第二个值
64             false && alert("看我出不出来!!");//没有出现弹窗
65             
66             //--------------------------------------------------------------------
67             
68             //两个都是false,则返回false
69             result = false || false;
70             console.log("result = "+result);//false
71             
72             //只有有一个true,就返回true
73             result = true || false;
74             result = false || true ;
75             result = true || true ;
76             console.log("result = "+result);//true
77             
78             
79             //第一个值为false,则会检查第二个值
80             false || alert("123"); //可以弹窗
81             
82             //第一个值为true,则不再检查第二个值
83             true || alert("123"); //没有出现弹窗
84             
85             
86             
87             
88         </script>
89     </head>
90     <body>
91     </body>
92 </html>
原文地址:https://www.cnblogs.com/ZHOUVIP/p/7652699.html