js 中的switch

前言

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>



你可能感兴趣的:(js 中的switch)