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()
}

 

你可能感兴趣的:(前端)