本例用swtich出现的问题
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数</title>
<script type="text/javascript">
//定义函数
function big(x,y){
switch(x,y)
{case x>y:
return x;
break;
case x=y:
return x;
break;
case x<y:
return y;
break;
}
}
//函数体,判断两个整数比较的三种情况
//调用函数,实现下面两组数中,返回较大值。
document.write(" 5 和 4 的较大值是:"+big(5,4)+"<br>");
document.write(" 6 和 3 的较大值是:"+big(6,3) );
</script>
</head>
<body>
</body>
</html>楼主尝试在switch()中,如果是switch(true),没问题。但是switch(x,y),有趣的是竟然显示的:4,3(明明较小的);switch(y,x)结果就成了未定义;
然后楼主去翻js高程的此部分,switch(expression){case:value:statement 。。。。。等,其中有提到:可以在switch语句中使用任何数据类型,无论字符串,还是对象都没有问题。其次,每个case的值不一定是常量,可以是变量,甚至表达式(也就是楼主所用的大小判断)。
那么,如何理解expression与value的呢?是否能理解为两者要求相等还是完全相等(类型)呢?