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>  
  • 相关阅读:
    IDF实验室-CTF训练营-牛刀小试CTF
    百度杯CTF夺旗大赛9月场writeup
    基于Mapxtreme for JAVA的电子地图设计与实现
    centos下 apache+mysql+php的安装
    ssh远程登陆
    毕业设计-JSP论文盲审系统
    Android毕业设计-微圈
    基于Android的高校饮水宝app
    小程序不支持wx.request同步请求解决方法
    微信小程序服务类目大坑:特殊行业服务类目所需资质材料
  • 原文地址:https://www.cnblogs.com/ningyanbo/p/5084589.html
Copyright © 2011-2022 走看看