javascript switch语句

varnum=5;switch(num){casenum<0:alert("lessthan0.");break;casenum>=0&&num<=10:alert("b... var num = 5;
switch (num){
case num < 0:
alert("less than 0.");
break;
case num >= 0 && num <= 10:
alert("between 0 and 10");
break;
default :
alert("greater than 10");
}
这段输出的是:greater than 10.

var num = 5;
switch (true){
case num < 0:
alert("less than 0.");
break;
case num >= 0 && num <= 10:
alert("between 0 and 10");
break;
default :
alert("greater than 10");
}
这段代码输出的是:between 0 and 10
为什么会出现这种差别,第一段,怎么改能输出正确的结果?
展开
 我来答
匿名用户
2012-03-27
展开全部
这个解释很简单的,楼主只需要对switch……case……有个透彻的了解就行。
我们都知道
switch(true)

case true:
alert('true');
break;
case false:
alert('false');
break;
default:
alert('default');

结果显示是“true”。只要楼主把第一个例子转换一下就行了。switch(num)的时候,由于后面num<0是false,num >= 0 && num <= 10是true,但是num是数字而不是true或false自然选择默认的default了,所以显示结果是“greater than 10"。同理可以知道第二个例子为什么显示“between 0 and 10“了。
满城风絮丿
2015-09-28 · 超过15用户采纳过TA的回答
知道答主
回答量:64
采纳率:100%
帮助的人:25万
展开全部
switch(x){
case 1://x等于1

fun();//执行才做,可为函数,也可直接写处理逻辑

break;

case 2:
fun();//执行才做,可为函数,也可直接写处理逻辑

break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f97294a
2012-03-27 · 贡献了超过110个回答
知道答主
回答量:110
采纳率:0%
帮助的人:15.1万
展开全部
出现这个正常啊。。。 你想要什么结果?
追问
我想知道为什么一个是num,一个是true。怎么就出现这个差别了 。。第一段的执行过程是怎么样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式