在c/c++、java这些强类型的语言中switch语句的表达式和case分支中的条件值都只能是char类型或整数。JS的switch语句有些不同,它可以是JS中的任意一种类型,这一点有些朋友可能并没留意。
<script type="text/javascript">
var func = function(){};
var expr = "hello";
//alert string
switch (expr)
{
case undefined:
alert("undefined");
break;
case func:
alert("function");
break;
case 100:
alert("number");
break;
case "hello":
alert("string");
break;
}
</script>
case中的条件可以是string类型,number类型,undefined等等,甚至还可以是一个自定义的函数。