问答详情
源自:2-12 保持先后顺序(操作符优先级)

数值类型+布尔类型等于布尔类型?

jq1=numa + 30 >10 && numb * 3<20;

jq1=5+true

结果jq1等于true?所有的布尔+数值都会这样吗

提问者:慕UI9918925 2017-02-25 16:31

个回答

  • 慕瓜0368216
    2017-02-25 17:10:46

    如果编辑的计算器中计算  5 + true document。write的值是NAN          

    <script type="text/javascript">
       function gg(){
           var a=5;
           var b=true;
        var result=a+b;
        document.getElementById("txt2").value =result;
       
       }
      </script>
     </head>
     <body>

       <input type='text' id='txt2'  onfocus="gg()"/>

     </body>       结果 为6

  • 今朝有酒今朝醉3401
    2017-02-25 16:50:26

     并不是这样理解的,这种表达式应该按照符号的优先级来计算,即算术运算符大于比较符号大于逻辑运算符。

    故第一个式子应是这样子计算的

    jp1 =((numa+30)>10)&&((numb*b)<20);

    如果是数值为非零,相当于true,如果为0 则为false