zoukankan      html  css  js  c++  java
  • 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>


     

  • 相关阅读:
    asp 向另一个页面传递数组
    TSQL Program Rule and Tips 规则与优化
    虚函数 纯虚函数 抽象类
    static (c#)
    简单游标
    抽象方法 抽象类 (abstract)
    清理电脑
    泛型学习
    继承(对象生命周期) + 覆盖[new](索引函数) + 重载[virtual/override]
    #干货向#jQuery性能优化指南
  • 原文地址:https://www.cnblogs.com/james1207/p/3327658.html
Copyright © 2011-2022 走看看