zoukankan      html  css  js  c++  java
  • 关于优化的方式

    摘自:http://www.cnblogs.com/lranye/archive/2013/06/08/3127013.html

    3、当进行多个条件判段时

        给一个例子:每种颜色对应一个值,比如"white","red","green","yellow","gray","blue" 分别对应的值为0,1,2,3,4,5

    1) 问题一:根据值获取颜色

    实现方式一

    function getColorByVal(val) {
        var color = "";
        if (val == 0){
            color = "white";
        }else if (val == 1) {
            color = "red";
        } else if (val == 2) {
            color = "green";
        } else if (val == 3) {
            color = "yellow";
        } else if (val == 4) {
            color = "gray";
        } else if (val == 5) {
            color = "blue";
        }
        return color;
    }

    实现方式二

    复制代码
    function getColorByVal(val) {
        var color;
        switch (val) {
            case 0:
                color = "white";
            case 1:
                color = "red";
                break;
            case 2:
                color = "green";
                break;
            case 3:
                color = "yellow";
                break;
            case 4:
                color = "gray";
                break;
            case 5:
                color = "blue";
                break;
                 
        }
        return color;
    }
    复制代码

    实现方式三

    function getColorByVal(val) {
       return ["white","red","green","yellow","gray","blue"][val];
    }

    调用: var color=getColorByVal(2);

    方式一和方式二相比没什么差别,但方式二稍微好一点,而方式三则是让人眼前一亮,短小精悍就完成了功能。不过有的人会说颜色的值刚好是数组

    再有:

    function getValByColor(color){
        return {"white":0,"red":1,"green":2,"yellow":3,"gray":4,"blue":5}[color];
    }

    调用: var val=getValByColor("red");

  • 相关阅读:
    Elastic-Job分布式任务调度
    java.sql.BatchUpdateException: ORA-01861: 文字与格式字符串不匹配
    oracle锁表和解锁
    sql ibatis
    唯一索引
    斐波那契数列
    旋转数组的最小数字
    两个栈来实现一个队列
    重建二叉树
    重写和重载
  • 原文地址:https://www.cnblogs.com/newlooker/p/3130536.html
Copyright © 2011-2022 走看看