zoukankan      html  css  js  c++  java
  • js中的逻辑与和逻辑或随笔

    逻辑与:&&,都真才真

    逻辑或:||,一真都真

    逻辑运算两侧不都是布尔值时,会隐式转换为布尔值
    转换规则:
    转换为true:非0数字(包含infinity)、非空字符串
    转换为false:0、空字符串、undefined、NaN、null


    短路语法
    逻辑与 a&&b:类似于串联电路,如果a为真,流通到b,值为b;如果a为假,流不到b,值为a;

    逻辑或 a || b:类似于并联电路,如果a为真,结果就为a;如果a为假,通过b,结果为b;

    练习:

     1 //逻辑运算顺序:非、与、或
     2 // 练习1:false || !false && false || true;
     3 var num1 = false || !false && false || true;
     4 /*
     5 false || !false && false || true
     6 = false || true && false || true
     7 = false || false || true
     8 = false || true
     9 = true
    10 */
    11 //非布尔值在参与逻辑运算时会隐式转换为布尔值
    12 //转换为true:非0数字、非空字符串
    13 //转换为false:0、空字符串、undefned、null、NaN
    14 // 练习2 4 && "hello" || !false || !true && null
    15 var num2 = 4 && "hello" || !false || !true && null;
    16 /*
    17 4 && "hello" || !false || !true && null
    18 = 4 && "hello" || true || false && null
    19 //参照逻辑与串联短路图,a && b,若a为真,值为b;若a为假,值为a;此处4隐式转换为true,值是"hello",
    20 = "hello" || true || false    
    21 //参照逻辑或并联短路图,a || b,若a为真,值为a;若a为假,值为b
    22 = "hello" || false
    23 = "hello"
    24 */
    25 console.log(num1);    //输出 true
    26 console.log(num2);    //输出hello
  • 相关阅读:
    LINUX安装 RPM与YUM
    ln s 软链接知识总结
    JQuery EasyUI 之 combobox plugin
    域名的DNS解析指南
    Asp.NET + OWC 输出Chart(图表)
    打败 IE 的葵花宝典:CSS Bug Table
    Route命令使用详解
    JQuery EasyUI 之 validatebox plugin
    JQuery easyUI 之 datebox plugin
    [转]如何安全的存储密码
  • 原文地址:https://www.cnblogs.com/zjp-/p/9004231.html
Copyright © 2011-2022 走看看