怎麼優化if else語句

    最近在寫代碼的時候,用了不少if else,當然不影響功能,但是後期維護感覺更加麻煩了,有點難理解,就像是回調地獄一樣,看了讓人害怕,隨着邏輯複雜度的增加,代碼中的if/else/switch會變得越來越臃腫,這我也記錄下,簡單優化下臃腫的代碼,起碼看起來整潔一些。

一:switch case

  我相信這也是大家平時常用優化if else的一種方法,寫法看起來比較易懂,性能並沒有提高。

舉例:

    if (number === 0) {
    } else if (number === 1) {
        string = "一";
    } else if (number === 2) {
        string = "二";
    } else if (number === 3) {
        string = "三";
    } else if (number === 4) {
        string = "四";
    } else if (number === 5) {
        string = "五";
    } else if (number === 6) {
        string = "六";
    }
 switch (number) {
        case 1 :
            string += "一";
            break;
        case 2 :
            string = "二";
            break;
        case 3 :
            string = "三";
            break;
        case 4 :
            string = "四";
            break;
        case 5 :
            string = "五";
            break;
        case 6 :
            string = "六";
            break;
    }

二:hash 表

 存到對象裏面,直接取出

if (key == "Apple") {
    val = "Jobs";
} else if (key == "microsoft"){
    val = "Gates";
} else if (key == "Google"){
    val = "Larry";
} 
var ceos = {"Apple":"Jobs", "microsoft":"Gates", "Google":"Larry"};
val = ceos[key];

其他方法

 (1)三元運算

適合簡單的 if(){}else{} 情況。

(2)邏輯與運算符

有些時候我們可以使用邏輯與運算符來簡化代碼(&&和||)

(3)includes 處理多重條件

if( code === '202' || code === '203' || code === '204' ){
    someMethod()
}

//改成
if( ['202','203','204'].includes(code) ){
    someMethod()
}

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章