• 逻辑运算符


     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              *         可以为一个任意数据类型取两次反,来将其转换为布尔值,
    18              *         原理和Boolean()函数一样
    19              * 
    20              * && 与
    21              *     - &&可以对符号两侧的值进行与运算并返回结果
    22              *     - 运算规则
    23              *         - 两个值中只要有一个值为false就返回false,
    24              *             只有两个值都为true时,才会返回true
    25              *         - JS中的“与”属于短路的与,
    26              *             如果第一个值为false,则不会看第二个值
    27              * 
    28              * || 或
    29              *     - ||可以对符号两侧的值进行或运算并返回结果
    30              *     - 运算规则:
    31              *         - 两个值中只要有一个true,就返回true
    32              *             如果两个值都为false,才返回false
    33              *        - JS中的“或”属于短路的或
    34              *             如果第一个值为true,则不会检查第二个值
    35              */
    36             
    37             //如果两个值都是true则返回true
    38             var result = true && true;
    39             
    40             //只要有一个false,就返回false
    41             result = true && false;
    42             result = false && true;
    43             result = false && false;
    44             
    45             //console.log("result = "+result);
    46             
    47             //第一个值为true,会检查第二个值
    48             //true && alert("看我出不出来!!");
    49             
    50             //第一个值为false,不会检查第二个值
    51             //false && alert("看我出不出来!!");
    52             
    53             //两个都是false,则返回false
    54             result = false || false;
    55             
    56             //只有有一个true,就返回true
    57             result = true || false;
    58             result = false || true ;
    59             result = true || true ;
    60             
    61             //console.log("result = "+result);
    62             
    63             //第一个值为false,则会检查第二个值
    64             //false || alert("123");
    65             
    66             //第一个值为true,则不再检查第二个值
    67             //true || alert("123");
    68             
    69             
    70             
    71             var a = false;
    72             
    73             //对a进行非运算
    74             a = !a;
    75             
    76             //console.log("a = "+a);
    77             
    78             var b = 10;
    79             b = !!b;
    80             
    81             //console.log("b = "+b);
    82             //console.log(typeof b);
    83             
    84         </script>
    85     </head>
    86     <body>
    87     </body>
    88 </html>
     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              *         - 如果第一个值为true,则必然返回第二个值
    15              *         - 如果第一个值为false,则直接返回第一个值
    16              * 
    17              *     - 或运算
    18              *         - 如果第一个值为true,则直接返回第一个值
    19              *         - 如果第一个值为false,则返回第二个值
    20              * 
    21              */
    22             
    23             //true && true
    24             //与运算:如果两个值都为true,则返回后边的
    25             var result = 5 && 6;
    26             
    27             
    28             //与运算:如果两个值中有false,则返回靠前的false
    29             //false && true
    30             result = 0 && 2;
    31             result = 2 && 0;
    32             //false && false
    33             result = NaN && 0;
    34             result = 0 && NaN;
    35             
    36             
    37             //true || true
    38             //如果第一个值为true,则直接返回第一个值
    39             result = 2 || 1;
    40             result = 2 || NaN;
    41             result = 2 || 0;
    42             
    43             //如果第一个值为false,则直接返回第二个值
    44             result = NaN || 1;
    45             result = NaN || 0;
    46             
    47             result = "" || "hello";
    48             
    49             result = -1 || "你好";
    50             
    51             
    52             console.log("result = "+result);
    53             
    54         </script>
    55         
    56     </head>
    57     <body>
    58     </body>
    59 </html>
  • 相关阅读:
    JQuery上传插件Uploadify使用详解
    在ASP.NET MVC中使用带后缀的URL
    设计师必备的职业素养!
    2010年最危险的IT技术是什么?
    关于百度快照的常见问题!
    设计师提高水平秘籍
    成为优秀设计师的几大条件
    2010最值得关注的10款互联网产品
    2011年网页设计趋势!!!!
    揭开网站美丽面纱!快照(百度快照,谷歌快照)。
  • 原文地址:https://www.cnblogs.com/lvjianqun/p/10302656.html
Copyright © 2020-2023  润新知