您好,登錄后才能下訂單哦!
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代碼結構的優化方法有哪些就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。