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

来源:2-12 保持先后顺序(操作符优先级)

慕UI9918925

2017-02-25 16:31

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

jq1=5+true

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

写回答 关注

2回答

  • 慕瓜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

    慕UI991...

    1为真,0为假?我试了下你这个true改成false结果是5

    2017-02-25 17:26:35

    共 1 条回复 >

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

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

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

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

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

    慕UI991...

    受教了,感谢

    2017-02-25 17:20:52

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题