美文网首页前端小白踩坑系列
关于 Switch 与 If 判断

关于 Switch 与 If 判断

作者: 你压我退毛了 | 来源:发表于2018-05-10 14:54 被阅读0次

    Switch 与 If 需根据情况

    • 大部分书写代码的时候,当需要做判断的时候,很多人(包括我),都喜欢使用 if 语句,因为 if 的逻辑性很高,而且可以在判断的时候增加很多复杂的条件。
    var bug_bum_if = function () {
        if (see watermelon || see apple || see peach) {
            bug two;
        }  
    }
    // 这种复杂的买包子事件就很容易实现。
    // 但是如果是用 switch 来实现呢 就很奇怪。
    var bug_bum_switch = function (whatYouSee) {
        switch (whatYouSee) {
            case 'see watermelon' :
                bug two;
                break;
            case 'see apple' :
                bug two;
                break;
            case 'see peach' :
                bug two;
                break;
        }
    }
    // 这个时候使用switch就显得很蠢,明明几行就搞定的事情,非要写那么多行。但是不可否认的确实可读性更高一些(个人认为)
    
    • 但是当判断条件简单了,但是需要购买的内容变多了的时候呢, Swtich 结构 可能会胜出吧。
    // 当然 我们还是买包子
    var bug_bum_if = function () {
        if (see watermelon) {
            bug two;
        }  else if (see apple) {
            bug three;
        } else if (see peach) {
            bug four;
        }
    }
    // 无尽的花括号~
    var bug_bum_switch = function (whatYouSee) {
        switch (whatYouSee) {
            case 'see watermelon' :
                bug two;
                break;
            case 'see apple' :
                bug three;
                break;
            case 'see peach' :
                bug four;
                break;
        }
    // Switch 难得的没有什么变化,但是买的数量确实改变了,这次是不是可读性更高了呢。
    
    • 所以当判断条件很复杂的时候,比如有很多与或非的运算,使用 If 语句无疑可以提高很多效率,但是当判断条件很简单的时候,不妨使用 Swtich。

    Switch 的简写

    // 其实这才是这次主要想记录的东西
    var text_switch = function (value) {
        switch (value) {
            case 'A' :
                console.log('First');
                break;
            case 'a' :
                console.log('First');
                break;
            case 'B' :
                console.log('Second');
                break;
            case 'b' :
                console.log('Second');
                break;
            case 'C' :
                console.log('Third');
                break;
            case 'c' :
                console.log('Third');
                break;
        }
    }
    // 当我们需要执行的代码块一致时候,可以简写成:
    var text_switch_simple = function (value) {
        switch (value) {
            case 'A' :
            case 'a' :
                console.log('First');
                break;
            case 'B' :
            case 'b' :
                console.log('Second');
                break;
            case 'C' :
            case 'c' :
                console.log('Third');
                break;
        }
    }
    // textSwitch('A') -> First
    // textSwitch('a') -> First
    // textSwitch('B') -> Second
    // textSwitch('b') -> Second
    // textSwitch('C') -> Third
    // textSwitch('c') -> Third
    // 看起来简单多了不是吗,当然这是一个大牛告诉我的,并且测试过没有问题,如果出现了什么问题
    

    结束啦

    相关文章

      网友评论

        本文标题:关于 Switch 与 If 判断

        本文链接:https://www.haomeiwen.com/subject/wqizrftx.html