zoukankan      html  css  js  c++  java
  • 运算符 && 和 || 的返回值

    今天才知道,原来 && 和|| 的返回值是这样计算的 
    
    &&首先计算其左边的表达式,如果它的值为false或可被转换为false(null、NaN、0或undefined),那么将返回左边表达式的值,否则,它将计算右边的表达式, 并返回这个表达式结果作为 &&运算的结果。 
    
    ||首先计算其左边的表达式,如果它的值不为false或不可被转换为false(null、NaN、0或undefined),那么将返回左边表达式的值,否则,它将计算右边的表达式, 并返回这个表达式结果作为 &&运算的结果。
     
    Html代码  
    <HTML> 
     <HEAD> 
      <TITLE> 运算符&&和||的返回值 </TITLE> 
     </HEAD> 
     <BODY> 
     &&首先计算其左边的表达式,如果它的值<font color=blue>为false</font>或<font color=blue>可被转换为false</font><font color=red>(null、NaN、0或undefined)</font>,那么将返回左边表达式的值,否则,它将计算右边的表达式, 
     并返回这个表达式结果作为 &&运算的结果。<br> 
    ||首先计算其左边的表达式,如果它的值<font color=blue>不为false</font>或<font color=blue>不可被转换为false</font><font color=red>(null、NaN、0或undefined)</font>,那么将返回左边表达式的值,否则,它将计算右边的表达式, 
     并返回这个表达式结果作为 &&运算的结果。 
     <hr> 
      <SCRIPT LANGUAGE="JavaScript"> 
        function dwn(s) 
        { 
            document.write(s + "<br/>"); 
        } 
     
        dwn("null && 33 = " + (null && 33));//null 
        dwn("NaN && 33 = " + (NaN && 33));//NaN 
        dwn("0 && 33 = " + (0 && 33));//0 
        dwn("undefined && 33 = " + (undefined && 33));//undefined 
        dwn("true && 33 = " + (true && 33));//33 
        dwn("false && 33 = " + (false && 33));//false 
        dwn("33 && 44 = " + (33 && 44));//44 
        dwn("---------"); 
     
        dwn("null || 33 = " + (null || 33));//33 
        dwn("NaN || 33 = " + (NaN || 33));//33 
        dwn("0 || 33 = " + (0 || 33));//33 
        dwn("undefined || 33 = " + (undefined || 33));//33 
        dwn("true || 33 = " + (true || 33));//true 
        dwn("false || 33 = " + (false || 33));//33 
        dwn("33 || 44 = " + (33 || 44));//33 
         
    </SCRIPT> 
    <hr> 
    同时javascript中 if (expression) statement; 语句的判断也是<br> 
    看 expression 是否是不是 false 或 能不能转换成false(null、NaN、0或undefined)<br> 
    如果能 则不执行 statement; 否则就执行 statement; 
    <hr/> 
    <SCRIPT LANGUAGE="JavaScript"> 
    <!-- 
        if (null) 
            dwn("null test"); 
        if (0) 
            dwn("0 test"); 
        if (undefined) 
            dwn("undefined test"); 
        if (NaN) 
            dwn("NaN test"); 
        if (444) 
            dwn("444 test"); 
    //--> 
    </SCRIPT> 
    <hr> 
    由此可见,if (a==b)dosth();和a==b&&dosth();或a!=b||dosth()等价 
     
     </BODY> 
    </HTML>  
  • 相关阅读:
    Linux命令备忘录
    Redis集群部署
    Java BIO、NIO、AIO 学习
    elasticsearch性能因素总结
    tomcat配置文件server.xml详解
    Tomcat性能优化及JVM内存工作原理
    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
    HttpClient使用学习
    Java的三种代理模式
    yzoi1109&&viojs1042最小步数的一点看法——回文数
  • 原文地址:https://www.cnblogs.com/ningyanbo/p/5084589.html
Copyright © 2011-2022 走看看