首先,括号中的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 。 我想这是最有力的证明了!
js中switch语句中case值可以表示一个范围。
1、打开浏览器的控制台,在控制台中定义一个函数,函数中使用switch命令,case后面的条件是一个范围:
2、调用函数,函数的参数值为“90”,由于“90”大于“80”,所以函数返回“优秀”:
3、调用函数,函数的参数值为“59”,由于“59”大于“0”,所以函数返回“不及格”:
没有看出什么问题 你的 #fcvf 是不对的,其他的应该是好的,好友就是 你的 .main 有没有这个class 如果都有应该就没有问题我给你个完整的例子吧
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
</head>
<body>
<div id="main-main">
<ul>
<li class="main">xsdd</li>
<li class="main">xsdd</li>
<li class="main">xsdd</li>
</ul>
</div>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
var len = $("#main-main ul li").length//获取焦点图个数
switch(len){
case 0:$(".main").css({"background-color":"#f00"})break
case 1:$(".main").css({"background-color":"#0f0"})break
case 2:$(".main").css({"background-color":"#00f"})break
case 3:$(".main").css({"background-color":"#fed"})break
default:$(".main").css({"background-color":"#fff"})break
}
})
</script>