javascript逻辑或(||)

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>javascript逻辑或</title>
 8     <!-- 
 9         逻辑或(||)个人理解:
10         前提条件:
11         -逻辑或的判定顺序:从左到右;
12         -只要遇到真就不再往下,直接返回第一个真的值;
13         -在遇到真之前,会一直往下判定,如果最后一个也是假/null/undefined/NaN,就返回最后一个假/null/undefined/NaN的值
14         1)操作数都为布尔值
15          1真/多真/全真:返回true
16          全假:返回false
17         2)操作数为多类型混合(表达式、布尔值等其他类型)
18          1真/多真/全真:返回第一个真的值
19          全假/null/undefined/NaN:返回最后一个值
20      -->
21 </head>
22 <body>
23     <script>
24         var a=1,b="2",c=0,d="abc",e="",f,g=a-d;
25         /* 逻辑或:布尔型 */
26         console.log((a-b) || (a-abc));//-1,a-b为true,不再往下判定
27         console.log(a>10 || a<10);//true,a>10假,a<10真,1真返回true
28         /* 逻辑或:混合型 */
29         console.log(c || a || b || d);//1,返回第一个真a=1
30         console.log(c || e || null || undefined || g);//NaN,全假返回最后一个假
31     </script>
32 </body>
33 </html>
原文地址:https://www.cnblogs.com/vinson-blog/p/11989519.html