<script> 
var x=11,y; 

if(x < 1) {
y=x; 
} else if(x > 1 && x < 10) {
y=x * 2+1; 
} else if(x > 10) {
y=x * 3+10; 
}

window.alert(y); 
</script> 

解决方案 »

  1.   

    (x > 1 && x < 10)
    而不是 1 < x <10 
    真晕
      

  2.   

    <html>
    <head>
    </head>
    <body>
    <script>
    var x=11,y;
    if(x <1) { 
            y=x; 
    window.alert("x <1");
        }else if(x>1&&x <10) { 
            y=x*2+1; 
    window.alert("y=x*2+1");
        }else if(x>10) { 
            y=x*3+10; 
    window.alert("y=x*3+10");
        } 
        
        window.alert(y); </script> 
    </body>
    </html>
    靠,你的那个else if(1 <x <10) 不对好不好,认真一些吧。
      

  3.   

    1 <x <10
    这种写法是数学作业里的写法,
    我没有考证过,推断你这样写应该是先执行了1<11,再执行了true<10
    true在这个环境中自动转换为1, 1<10,自然就是执行第2个else了比较1个东西的范围时,这种写法不推荐。
      

  4.   

    楼主的写法相当于这样写
    x>1时:<script> 
        var x=11,y; 
        if(x < 1) {
            y=x; 
        } else if(x > 1) {
            if (1 < 10) {
                y=x * 2+1; 
            }
        } else if(x > 10) {
            y=x * 3+10; 
        }
        window.alert(y); 
    </script> x<=1时:<script> 
        var x=11,y; 
        if(x < 1) {
            y=x; 
        } else if(x > 1) {
            if (0 < 10) {
                y=x * 2+1; 
            }
        } else if(x > 10) {
            y=x * 3+10; 
        }
        window.alert(y); 
    </script> 
      

  5.   

    我测试下来没错呀function bbb(){    
      var x=11,y; 
    if(x <1) y=x; 
    else if(1 <x <10) y=x*2+1; 
    else if(x>10) y=x*3+10; 
    alert(y); 

    }<body>
    <form>
    <input type="button" value="bbb" onclick="bbb()"/>
    </form>
    </body>
    输出23了呀
      

  6.   

    1 <x <10  第一次见这么写的^_^楼主可以把if(x <1) y=x;这个去掉,试一下就明白了。
    <script> 
        var x=0,y; // var x=20,y;
        
         if(1<x<10) { 
            y=x * 2+1; 
        } else if(x > 10) { 
            y=x * 3+10; 
    }
       alert(y); 
    </script>
    if(1<x<10)相当于是当x大于1时执行当x小于10时也执行,所以else if(x > 10)多余……^_^
      

  7.   


    else if(1 <x <10){ y=x*2+1};//相当于else if(x > 1 || x < 10) { y=x * 2+1;} 
    //这样楼主明白了否?