if-else代码结构的优化方法有哪些?
if-else代码结构的优化方法有哪些?不少人在学习编程的时候都会遇到这样的疑惑,为了解决大家的这个学习障碍,所以小编给大家总结了以下内容,一起往下看吧。
1、案例示范:
(1)需求
首先我们的需求是写一个 returnWeekday() 方法返回"今天是星期*"。
(2)代码如下:
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())
(3)优化思路:
当我们写完了这样的代码,第一感觉应该是elseif块太多了。众所周知,switch 语句与 if 语句的关系最为密切,而且也是在其他语言中普遍使用的一种流控制语句。因此我们应该考虑使用 switch 语句来进行优化。
(4)初级优化代码如下:
function returnWeekday(){
let string = "今天是星期";
let date = new Date().getDay();
switch (date) {
case 0 :
string += "日";
break;
case 1 :
string += "一";
break;
case 2 :
string += "二";
break;
case 3 :
string += "三";
break;
case 4 :
string += "四";
break;
case 5 :
string += "五";
break;
case 6 :
string += "六";
break;
}
return string
}
console.log(returnWeekday())
(5)再次优化代码如下:
在 case 里面拼接字符,以达到输出预期结果的目的。这里的结构看起来确实比 if 语句清晰了一点。可是我们的目标应该是希望是已经封装好的方法,不要频繁的修改。因此再次进行优化:
(){
let string = "今天是星期";
let date = new Date().getDay();
// 使用对象
dateObj = {
0: 天 ,
1: "一",
2: "二",
3: "三",
4: "四",
5: "五",
6: "六",
};
return string + dateObj[date]
}
console.log(returnWeekday())
关于if-else代码结构的优化方法有哪些就分享到这里了,当然并不止以上和大家分析的办法,不过小编可以保证其准确性是绝对没问题的。希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。