首页 新闻 会员 周边

javascript 问题

0
悬赏园豆:10 [已解决问题] 解决于 2011-08-19 09:06

          function show1(a){
            alert(3 > a > 2); //false show(1)
            alert(2 < a < 3); //ture

            alert(2 < a < 3 > 2); //false

         }

         show(1);

这中怎么解释?  为什么是后面的结果?

问题补充:

function show1(a){

      alert :(2<3); //结果是true

       alert : (2>a>3);  //false

}

show(1)

统哥的主页 统哥 | 初学一级 | 园豆:134
提问于:2011-08-01 16:23
< >
分享
最佳答案
0

(2<a<3) 首先,js会判断2<a,如果true,则会转换成1,然后1<3做判断,返回结果;如果2<a的结果是false,则会转换成0再做后续判断。

2<a<3 等价于 (2<a)<3,这两个比较是分开的,而不是根据a的值来做比较

收获园豆:10
Lecaf | 菜鸟二级 |园豆:352 | 2011-08-04 11:51
其他回答(3)
0

看不懂哦

artwl | 园豆:16736 (专家六级) | 2011-08-01 17:09
0

2<3 这是成立的   肯定是返回true啦

2>1>3不成立   返回false

IC_尼玛 | 园豆:205 (菜鸟二级) | 2011-08-02 11:37
正解哦
支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2011-08-02 16:14
能讲的更详细点吗?
那个 aler(2<3) 其实是:alert(2请详细解释下
支持(0) 反对(0) 统哥 | 园豆:134 (初学一级) | 2011-08-03 17:06
0

 alert :(2<3); //结果是true

 alert : (2<a<3);  //false

因为你的 2<3 是成立的 所以返回true

至于你2<a<3 我这边a无论是什么返回的都是ture

王清清 | 园豆:281 (菜鸟二级) | 2011-08-04 11:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册