如何优化if-else代码结构?

更新时间:2023-04-10 11:53:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

如何优化if-else代码结构?

不少人在学习编程的时候都会遇到这样的疑惑:如何优化if-else代码结构?为了解决大家的这个学习障碍,本文以<输出今天为星期几>来聊聊优化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代码结构的一个具体步骤和思考路线,虽然案例很简单,但是这类代码结构优化都是相通的,大家可以把这个案例到看几遍,真正掌握其中的优化精髓。

本文来源:https://www.bwwdw.com/article/oq8l.html

Top