zoukankan      html  css  js  c++  java
  • JS基础_逻辑运算符

     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              *         可以为一个任意数据类型取两次反,来将其转换为布尔值,原理和Boolean()函数一样
    18              * 
    19              * && 与
    20              *     - &&可以对符号两侧的值进行与运算并返回结果
    21              *     - 运算规则
    22              *         - 两个值中只要有一个值为false就返回false,
    23              *             只有两个值都为true时,才会返回true
    24              *         - JS中的“与”属于短路的与,
    25              *             如果第一个值为false,则不会看第二个值
    26              * 
    27              * || 或
    28              *     - ||可以对符号两侧的值进行或运算并返回结果
    29              *     - 运算规则:
    30              *         - 两个值中只要有一个true,就返回true
    31              *             如果两个值都为false,才返回false
    32              *        - JS中的“或”属于短路的或
    33              *             如果第一个值为true,则不会检查第二个值
    34              */
    35             
    36             var a = false;
    37             //对a进行非运算
    38             a = !a;
    39             console.log(a);//true
    40             
    41             
    42             //如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反
    43             var b = 10;
    44             b = !!b; 
    45             console.log(b); //true
    46             console.log(typeof b); //boolean
    47             
    48             //------------------------------------------------------------------------
    49             
    50             //如果两个值都是true则返回true
    51             var result = true && true;
    52             console.log(result); //true
    53             
    54             //只要有一个false,就返回false
    55             result = true && false;
    56             result = false && true;
    57             result = false && false;
    58             console.log(result); //false
    59             
    60             //第一个值为true,会检查第二个值
    61             true && alert("看我出不出来!!");//可以弹窗
    62             
    63             //第一个值为false,不会检查第二个值
    64             false && alert("看我出不出来!!");//没有出现弹窗
    65             
    66             //--------------------------------------------------------------------
    67             
    68             //两个都是false,则返回false
    69             result = false || false;
    70             console.log("result = "+result);//false
    71             
    72             //只有有一个true,就返回true
    73             result = true || false;
    74             result = false || true ;
    75             result = true || true ;
    76             console.log("result = "+result);//true
    77             
    78             
    79             //第一个值为false,则会检查第二个值
    80             false || alert("123"); //可以弹窗
    81             
    82             //第一个值为true,则不再检查第二个值
    83             true || alert("123"); //没有出现弹窗
    84             
    85             
    86             
    87             
    88         </script>
    89     </head>
    90     <body>
    91     </body>
    92 </html>
  • 相关阅读:
    记录一次阻塞引发的系统超时
    2015年读书清单
    循序渐进的敏捷-每日例会
    循序渐进的敏捷-交叉测试
    对一次系统上线的思考-走出“舒适区”
    单点登录(SSO)系统的总结
    对一个同事项目的思考和总结
    关于福建出差的总结
    由错误处理引发的联想-防御式编程
    关于日志记录的总结
  • 原文地址:https://www.cnblogs.com/ZHOUVIP/p/7652699.html
Copyright © 2011-2022 走看看