如何优化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代码结构的一个具体步骤和思考路线,虽然案例很简单,但是这类代码结构优化都是相通的,大家可以把这个案例到看几遍,真正掌握其中的优化精髓。
正在阅读:
如何优化if-else代码结构?04-10
2015工程地质试题汇总03-18
建设工程工程量清单计价实务2013年10月高等教育自学考试试题与答案08-07
跨文化交际中手势语的差异04-30
保护环境的广告语02-19
蜘蛛给我的启示作文700字07-14
我爱我的小山村作文400字07-16
那片绿春意盎然作文600字06-20
Y190操作手册 - 图文05-06
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 优化
- 结构
- 代码
- 如何
- else
- 脚印小学优秀作文400字(精选3篇)
- 2014年物业管理师物业管理综合能力考试试题(十一)
- 酒店董事长迎新发言稿
- 河北省承德市2022_2022学年高二语文下学期第一次月考试题(新)
- 2022年北京市培养单位光电研究院866计算机原理之数据结构考研基
- 2015年下半年湖南省主治医师(心内科)技师基础知识考试试卷
- 公司招商合作意向书
- 2022年上海大学机电综合之材料力学复试仿真模拟三套题
- 三国全面战争宝物秘籍及宝物代码
- 《小老虎历险记》读后感作文
- 内涵深蕴而激情外放——解析18款皇冠身上的各种元素
- 艺术生文化课学校排名
- 电厂值长工作小结范本
- 茶百道奶茶网络营销环境分析
- 2022年天津财经大学金融学805经济学之货币金融学考研核心题库
- 破碎工安全操作和工艺规范标准范本
- 在购买儿童提高免疫力保健品时要注意什么
- 组网技术与网络管理课后答案
- 防水施工方案3楼(doc32页)
- 教育部发布高校命名最新规范