前言
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>