与或非运算(布尔值/非布尔值)

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     <script type="text/javascript">
 7     /*
 8     逻辑运算符
 9     1.!非
10     对于非布尔值,会将其转换为布尔值,再操作
11     所以我们可以利用该特点,将一个其他数据类型转换为布尔值
12     原理和Boolean()一样
13   */
14  var b=10;
15  b=!!b;
16  console.log(typeof b);//true
17  
18  /*
19     2.&&与
20     两个值中只要有一个值为false就返回false,否则返回true
21     JS中,如果第一个值为false则不会看第二个值
22  */
23      false&&alert("hi~");//不会出来hi
24      
25      /*
26      3.||或
27      两个值中只要有一个值为true就返回true,否则返回false
28      JS中,如果第一个值为true则不会看第二个值
29      */
30     
31     /*
32     && || 非布尔值的情况
33     对于非布尔值进行与或运算时,
34     会先将其转换为布尔值,然后再运算,并返回原值,|| &&同时出现,&&优先级高于||
35     
36     与运算 如果两个值都为true,则返回后边的,无论后面的是true还是false
37       如果两个值都为false,则返回前面的
38       
39     或运算
40     如果第一个值为true,则直接返回第一个值
41     如果第一个值为false,则返回第二个值
42     */
43    console.log(2&&8);//8
44    console.log(-2&&6);//6
45    console.log(0&&7);//0
46    console.log(NaN&&0);//NaN;
47    console.log(0&&NaN);//0
48     </script>
49     </head>
50     <body>
51     </body>
52 </html>

 

posted @ 2019-07-20 16:19  zuiaimiusi  阅读(1060)  评论(0编辑  收藏  举报