在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
不少人在学习编程的时候都会遇到这样的疑惑:如何优化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代码结构的一个具体步骤和思考路线,虽然案例很简单,但是这类代码结构优化都是相通的,大家可以把这个案例到看几遍,真正掌握其中的优化精髓。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
常见排序算法深度盘点
排序算法是最基本的算法之一。一般来说,排序算法分成内部排序和外部排序。本文主要盘点了十种常见排序算法,它们可以按照时间复杂度划分,也可以按照稳定性划分,下面让小编来详细谈谈吧!
9558
2019-08-01 17:39:35
疫情过后哪些行业发展前景比较好?
2020年初一场声势浩大的新型肺炎,让全国各个行业都受到了冲击和挑战。尤其是以餐饮为代表的实体经济受疫情影响严重。在很多企业面临着严峻的考验的同时,一些互联网行业却迎来了意想不到的转机和历史新机遇。下面就跟随小编一起来盘点一下,疫情过后那些发展前景比较好的行业吧!
23299
2020-02-24 18:15:12
IT编程入门门槛高吗?有哪些要求?
IT编程入门门槛高吗?有哪些要求? 其实,学IT技术既不像一些培训机构鼓吹的那样适合任何人学习,也不像许多人担心的那样不适合数学或英语差的学习者入门。编程学习者可以来自各行各业,也可以完全没有基础从零开始学起。关键是要对IT编程有学习兴趣,并且有着持续的自学能力和出色的逻辑思维能力。下面我们来具体看看IT编程的入门要求。
12123
2020-03-13 18:33:37
Shell是什么?快速理解Shell的概念
Shell是什么?可能对于一些完全没有计算机基础的朋友来讲,想要理解Shell的概念可能会有一些困难。本文将从Shell的出现、定义以及分类来带大家快速理解Shell的概念。
9078
2020-07-29 14:41:17
UDP和TCP协议区别是什么?哪种更常用?
TCP/IP协议是一个协议簇包括很多协议,UDP只是其中的一个, 之所以命名为TCP/IP协议,因为TCP、IP协议是两个很重要的协议就用他两命名了。TCP/IP协议集包括应用层、传输层、网络层、网络访问层。
5899
2021-05-24 10:53:13
