在线客服
扫描二维码
下载博学谷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代码结构的一个具体步骤和思考路线,虽然案例很简单,但是这类代码结构优化都是相通的,大家可以把这个案例到看几遍,真正掌握其中的优化精髓。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
计算机网络的基础概念讲解
随着互联网时代的深入发展,计算机网络的学习变得越来越重要了。目前IT行业已然是可以说是人人都想投身的热门行业,那么如果想要从事开发网络应用程序的相关岗位,深度了解计算机网络的基础概念和知识,可以说是必修的课程。下面本文将给大家讲解计算机网络的基础概念,具体包括定义、组成、核心内容和主要功能等内容。
6433
2020-03-09 15:38:29
编程怎么入门?IT程序员需要学什么?
很多人羡慕软件开发薪资待遇好想入门编程,不需要和复杂的社会打交道;作为零基础的小白想学习编程,要了解需要先学什么、后学什么、具体怎么做?学什么语言根据自己的喜好,不知道学什么好可以选择java编程,学起来相对容易,用Java开发的企业比较多工资待遇高,也可以学html、python等入门级的语言。
6690
2020-04-20 16:35:41
软件工程师要学哪些知识?难不难?
软件工程师要学哪些知识?难不难?作为互联网行业中最重要的技术岗位,软件工程师需要学习的内容十分广泛且深入,学习难度可想而知。当然,软件工程师也并不是大家想的那样十八班武艺样样精通。比如对英语水平的要求并不高,也不一定要学习多么深奥的数学知识。下面我们一起来看看想要成为一名合格的软件工程师需要学习的具体内容。
13261
2020-04-27 17:05:16
Android基础知识点面试复习整理
相信很多小伙伴在准备面试复习的时候,都会因为没有建立自己系统的知识结构,而常常翻开书本马冬梅,合上书本马什么梅。出现这样的情况并不是个例,因此大家应该努力建立自己的Android知识体系,这样多复习几遍,一些重难点就能了熟于胸了。本文为大家整理了一套全面的Android基础知识点,有面试复习需要的小伙伴赶紧收藏起来吧~
7277
2020-04-29 11:48:25
2020年11月编程语言排行:C、Python、Java
2020年11月编程语言排行:C、Python、Java,9-20名也有不同程度的变化:R语言、Perl 和 Go 语言名次都有大幅提升,分别为9名、12名和13名;Swift、Ruby、Delphl/Object Pascal 和 Objective-C 分别下降为14名、15名、18名和19名;Transact-SQL 上升12名,进入 TOP 20。
5173
2020-11-09 11:40:38
