if-else代碼結(jié)構(gòu)的優(yōu)化方法有哪些?不少人在學習編程的時候都會遇到這樣的疑惑,為了解決大家的這個學習障礙,所以小編給大家總結(jié)了以下內(nèi)容,一起往下看吧。
創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設|成都網(wǎng)站改版|優(yōu)化|托管以及網(wǎng)絡推廣,積累了大量的網(wǎng)站設計與制作經(jīng)驗,為許多企業(yè)提供了網(wǎng)站定制設計服務,案例作品覆蓋成都紙箱等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身制作品質(zhì)網(wǎng)站。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)優(yōu)化思路:
當我們寫完了這樣的代碼,第一感覺應該是elseif塊太多了。眾所周知,switch 語句與 if 語句的關(guān)系最為密切,而且也是在其他語言中普遍使用的一種流控制語句。因此我們應該考慮使用 switch 語句來進行優(yōu)化。
(4)初級優(yōu)化代碼如下:
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)再次優(yōu)化代碼如下:
在 case 里面拼接字符,以達到輸出預期結(jié)果的目的。這里的結(jié)構(gòu)看起來確實比 if 語句清晰了一點??墒俏覀兊哪繕藨撌窍M且呀?jīng)封裝好的方法,不要頻繁的修改。因此再次進行優(yōu)化:
(){
let string = "今天是星期";
let date = new Date().getDay();
// 使用對象
dateObj = {
0: 天 ,
1: "一",
2: "二",
3: "三",
4: "四",
5: "五",
6: "六",
};
return string + dateObj[date]
}
console.log(returnWeekday())
關(guān)于if-else代碼結(jié)構(gòu)的優(yōu)化方法有哪些就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內(nèi)容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。