js中switch语句中case值可以表示一个范围。
1、打开浏览器的控制台,在控制台中定义一个函数,函数中使用switch命令,case后面的条件是一个范围:
2、调用函数,函数的参数值为“90”,由于“90”大于“80”,所以函数返回“优秀”:
3、调用函数,函数的参数值为“59”,由于“59”大于“0”,所以函数返回“不及格”:
当ID不存在时获取这个对象是不成功的,那么对后面的style属性集合的操作就会出错了.你可以在每个case中先对对象作下判断,存在进行display的设置.比如在第一个case里加上:if(document.getElementById('light')){
document.getElementById('light').style.display='none'
}
其他几个case里用同样的方法处理.
那个,前面的回答,我表示有意见。首先,括号中的A,B,C,是用逗号隔开的三个表达式A、B、C,这个整体叫做逗号表达式。
何为逗号表达式 ?参见百科 http://baike.baidu.com/view/2393109.htm
直接点说,逗号表达式最后的值,是由表达式的最后一个表达式(这里是表达式C)决定的。但是,并不是像前面仁兄所说的不执行前面的,而是会一个一个执行(先A,然后B,最后C)。
如果把这个逗号表达式分开来写,应该是下面这样:
A
B
switch(C) {
}
下面写一个很简单的例子来说明这个问题:
<script>
var a, b, c
switch(a=2, b=3, c=a+b){
case 2:alert(2)break
case 3:alert(3)break
case 5:alert(5)break
default:alert('none')
}
</script>
上面的结果,是5 。 我想这是最有力的证明了!