JS基础_非布尔值的与或运算

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         
 7         <script type="text/javascript">
 8             
 9             /*
10              * && || 非布尔值的情况
11              *     
12              *  - 对于非布尔值进行与或运算时,会先将其转换为布尔值,然后再运算,并且返回原值
13              *     
14              *  - 与运算:
15              *         - 如果第一个值为true,则必然返回第二个值
16              *         - 如果第一个值为false,则直接返回第一个值
17              * 
18              *     - 或运算
19              *         - 如果第一个值为true,则直接返回第一个值
20              *         - 如果第一个值为false,则返回第二个值
21              * 
22              */
23             
24             //true && true
25             //与运算:如果两个值都为true,则返回后边的,谁在后边返回谁
26             var result = 5 && 6;
27             console.log("result = "+result); //6 
28             
29             
30             //与运算:如果两个值中有false,则返回靠前的false
31             //false && true
32             result = 0 && 2;
33             console.log("result = "+result); //0
34             
35             result = 2 && 0;
36             console.log("result = "+result); //0
37             
38             
39             //false && false
40             result = NaN && 0;
41             result = 0 && NaN;
42             console.log("result = "+result); //0
43             
44             //-----------------------------------------------------------------------------
45             
46             //true || true
47             //如果第一个值为true,则直接返回第一个值
48             result = 2 || 1;
49             console.log("result = "+result); //2
50             
51             result = 2 || NaN;
52             console.log("result = "+result); //2
53             
54             result = 2 || 0;
55             console.log("result = "+result); //2
56             
57             
58             //如果第一个值为false,则直接返回第二个值
59             result = NaN || 1;
60             console.log("result = "+result); //1
61             
62             result = NaN || 0;
63             console.log("result = "+result); //0
64             
65             result = "" || "hello";
66             console.log("result = "+result); //hello
67             
68             result = -1 || "你好";
69             console.log("result = "+result); //-1
70             
71             
72         </script>
73         
74     </head>
75     <body>
76     </body>
77 </html>
原文地址:https://www.cnblogs.com/ZHOUVIP/p/7652796.html