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>