zoukankan      html  css  js  c++  java
  • javascript中对条件判断语句的优化 分类: JavaScript 2015-06-07 09:54 832人阅读 评论(2) 收藏

    不管写什么程序,平时都会用到条件语句,如:if...else... switch这样的语句,来达到对条件的判断。下面看来一段代码:

    function abc(test){
        if (test == 1){
            console.log('test的值是'+test);
        }
        else if (test == 2){
            console.log('test的值是'+test);
        }
        else if (test == 3){
            console.log('test的值是'+test);
        }
        else if (test == 4){
            console.log('test的值是'+test);
        }
    }
    
    abc(1);
    abc(2);
    abc(3);
    abc(4);

    结果如下:

    test的值是1
    test的值是2
    test的值是3
    test的值是4
    [Finished in 0.1s]

    其实在平时的代码开发中这并没有什么问题,但是很多的时候我们都希望自己的代码能够变的优雅和简单易懂,并且尽可能少的减少重复的代码。对于以上的问题,在js中存在一个switch来代替这样的多if语句判断。

    优化后的代码如下:

    function bcd(test){
        switch(test){
            case 1:
                console.log('test的值是'+test);
                break;
            case 2:
                console.log('test的值是'+test);
                break;
            default:
                console.log('test的值是null');
        }
    }
    
    bcd();
    bcd(1);

    结果如下:

    test的值是null
    test的值是1

    那么在js中有没有更好的方法来做到呢?使用js对象的特点可以轻松对switch进行优化,代码如下:

    function dcf(test){
        return({
                cat :function(){console.log('cat');},
                dog :function(){console.log('dog');},
                zhiqiang : function(){console.log('zhiqiang');}
            }[test] || function(){console.log('我是默认值');}
        )();
    }
    
    dcf();
    dcf('dog');

    我是默认值
    dog

    这里主要作用到两个知识点:1.js获取对象属性的值2.||操作符取值的问题。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Tomcat 服务器体系结构
    tomcat的下载和启动
    tomcat解决端口号占用问题
    我的wmware
    Xshell的使用
    GCC的-wl,-rpath=参数
    Matlab图像处理(01)-Matlab基础
    CMake最好的学习资料
    使用valgrind进行内存泄漏和非法内存操作检测
    CLion提示can't find stdio.h等错误
  • 原文地址:https://www.cnblogs.com/yisuowushinian/p/4715592.html
Copyright © 2011-2022 走看看