js的连续比较

先创建一个变量a=10,进行连续比较1<10<20,结果输出true,与真实比较结果相符

    <script type="text/javascript">
        var a=10;
        document.write("1<10<20的布尔值是"+(1<a<20))
     //true
</script>

将比较进行颠倒进行对比20>10>1,结果输出false,与真实比较结果不符

 <script type="text/javascript">
        var a=10;
        document.write("20>10>1的布尔值是"+(20>a>1))
     //false
</script>

再将20>10>1修改为20>10==1进行比较得到结果为,true与实际结果不符

    <script type="text/javascript">
        var a=10;
        document.write("1<10<20的布尔值是"+(20>a==1))
        //true
    </script>

实际在js中连续比较中会将靠前的比较转化为布尔值与靠后的比较项进行比较;

前项目比较的结果只有true或false,根据隐式转换分别为1和0,所以在比较1,和比较3中结果为true。

因此在js中无法使用比较符号进行连续比较。

在需要使用连续比较的情况可使用&&逻辑且进行比较

比较2在使用&&后结果争取

    <script type="text/javascript">
        var a=10;
        document.write("20>10>1的布尔值是"+(20>a&&a>1))
        //true
    </script>

 

posted @ 2022-07-09 17:28  Oops_wz  阅读(320)  评论(0)    收藏  举报