关于else if怎么总是执行第2条语句? <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> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (x > 1 && x < 10)而不是 1 < x <10 真晕 <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) 不对好不好,认真一些吧。 1 <x <10这种写法是数学作业里的写法,我没有考证过,推断你这样写应该是先执行了1<11,再执行了true<10true在这个环境中自动转换为1, 1<10,自然就是执行第2个else了比较1个东西的范围时,这种写法不推荐。 楼主的写法相当于这样写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> 我测试下来没错呀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了呀 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)多余……^_^ else if(1 <x <10){ y=x*2+1};//相当于else if(x > 1 || x < 10) { y=x * 2+1;} //这样楼主明白了否? 问个读取页面上颜色的问题 OWC11组件在浏览器中,无法改变列宽,行宽 js 输出乱码 中间跳转页面的问题 高分只送高人:关于浏览器窗口的苦干问题(在线等) 按钮问题。 怎样调出文件保存菜单 在参加学校三小时网页特效知识竞赛时遇到一个简单的问题,但不会答,请大家帮帮忙 请问如何屏蔽掉系统对TAB的却省处理方法??? javascript如何写去掉‘“<>的函数? 在制作网页方面遇到一个css样式的难题,请大家帮忙看一下 mootools 定义类,莫名的错误 missing ; before statement
而不是 1 < x <10
真晕
<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) 不对好不好,认真一些吧。
这种写法是数学作业里的写法,
我没有考证过,推断你这样写应该是先执行了1<11,再执行了true<10
true在这个环境中自动转换为1, 1<10,自然就是执行第2个else了比较1个东西的范围时,这种写法不推荐。
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>
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了呀
<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)多余……^_^
else if(1 <x <10){ y=x*2+1};//相当于else if(x > 1 || x < 10) { y=x * 2+1;}
//这样楼主明白了否?