if...else優化方式

參考文檔:https://mp.weixin.qq.com/s/bUshYrj-AsRiBzeHOxkbnw

需求

寫一個returnWeekday()方法返回"星期*"

//初學
function returnWeekday(){
    let string = "星期";
    let date = new Date().getDay();
    if(date === 0){
        string+="日";
    }else if(date === 1){
        string+="一";
    }else if(date === 2){
        string+="二";
    }else if(date === 3){
        string+="三";
    }else if(date === 4){
        string+="四";
    }else if(date === 5){
        string+="五";
    }else if(date === 6){
        string+="六";
    }
    return string
}
console.log(returnWeekday())

//入門 switch語句 

//中級
function returnWeekday(){
    let string = "星期";
    let date = new Date().getDay();
    //使用數組
    let dateArr = ["日","一","二","三","四","五","六"];

    //使用對象
    let dateObj = {0:"日",1:"一",2:"二",3:"三",4:"四",5:"五",6:"六"}

    return string + dateArr[date]
}
//charAt字符方法
function returnWeekday(){
    return "星期"+"日一二三四五六".charAt(new Date().getDay());
}

其他常用優化

//適合簡單的if(){}else{}
//滾動監聽,頭部固定
handleScroll:function(){
    let offsetTop = this.$refs.pride_tab_fixed.getBoundingClientRect().top;
    if(offsetTop < 0){
        this.titleFixed = true;
    }else{
        this.titleFixed = false;
    }

    //三元運算
    (offsetTop < 0)?this.titleFixed = true : this.titleFixed = false;

    //直接賦值
    this.titleFixed = offsetTop < 0;
}

使用 includes 處理多重條件

if([202,203,204].includes(code)){
    someMethod()
}

 

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