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>