• 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>


     

  • 相关阅读:
    关于c#中的委托和事件
    Unity3d中默认函数调用顺序(MonoBehaviour)
    u3d 摄像机详解
    u3d中的坐标系
    u3d中的向量 vector3 vector2
    u3d中的INput
    C#构造函数
    解析C#中[],List,Array,ArrayList的区别及应用
    Mybatis(七) mybatis的逆向工程的配置详解
    Mybatis(六) Spring整合mybatis
  • 原文地址:https://www.cnblogs.com/james1207/p/3327658.html
Copyright © 2020-2023  润新知