前言
switch 这种表达式在很多语言中都有,比如java, C等待, 使用switch比使用if else 来得方便,来得清晰。
使用语法很简单:
复制代码 代码如下:
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
n 与 case 1 和 case 2 不同时执行的代码
}
各种语言的使用基本类似。
需要特别提出的时,在java 1.6 及以下版本, 变量(n)只能是整型。在java 7 之后支持String类型了。
在js 中, 是可以直接使用String 类型。
使用实例
复制代码 代码如下:
<!--Add by oscar999-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<script>
function funcSwitch(sFlag)
{
switch(sFlag)
{
case "Test1":
alert("Test1");
break;
case "Test2":
alert("Test2");
break;
default:;
}
}
funcSwitch("Test2");
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
逻辑很简单, 代码很简单。 直接使用string 来区分。
Case 对应的条件值也是变量
如果case 后面对应的不是一个字符串,而是一个变量的话。可以结合RegExp 达成。
复制代码 代码如下:
<!--Add by oscar999-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<script>
var str1 = "Test1";
var str2 = "Test1";
function funcSwitch(sFlag)
{
var regExp = new RegExp(sFlag);
switch(true)
{
case regExp.test(str1):
alert("Test1");
break;
case regExp.test(str2):
alert("Test2");
break;
default:;
}
}
funcSwitch("Test1");
</script>
</HEAD>
<BODY>
</BODY>
</HTML>