js-ifelse-奇技淫巧
2024-09-05 23:56:49
我们有A,B,C,D四个不同的类别,在最开始的时候只有三个类别,并且两个类别是做同样的事:
function categoryHandle(category) {
if(category !== 'A') {
console.log('B, C');
} else {
console.log('A');
}
}
1.1
接着,出现了类别D——它与B和C相比来说,有一个不同的任务,而它又和B和C有一个相同的任务。于是,代码变成了这样。
function categoryHandle(category) {
if(category !== 'A') {
if(category === 'D') {
console.log('D');
} else {
console.log('B,C');
}
console.log('B, C ,D')
} else {
console.log('A');
}
}
1.2
然后
function categoryHandle(category) {
if(category === 'A') {
console.log('A');
} else if (category === 'B'){
console.log('B');
} else if (category === 'C'){
console.log('D');
}else if (category === 'D'){
console.log('D');
}
}
1.3
当然用switch语句来做,但是我真不想这样想。接着,JavaScript的奇技淫巧来完成这个工作:
function categoryHandleRefactor(category) {
var categoryAction = {
'A': {
run: function () {
console.log('A')
}
},
'B': {
run: function () {
console.log('B')
}
},
'C': {
run: function () {
console.log('C')
}
},
'D': {
run: function () {
console.log('D')
}
}
};
categoryAction[category].run();
}
1.4
最新文章
- thinkphp分页
- 前端开发面试知识点大纲--摘自jackyWHJ
- ios之申请后台延时执行和做一个假后台的方法(系统进入长时间后台后,再进入前台部分功能不能实现)
- 认识Java虚拟机的内部体系结构、gc示例
- 【转】http响应状态代码含义及跳转的类型
- python数据的存储和持久化操作
- UIDevice 系统信息详解
- rabbitMQ入门
- python 下的数据结构与算法---8:哈希一下【dict与set的实现】
- NYOJ 71 独木舟上的旅行(贪心)
- VS下使用Google Protobuf完成SOCKET通信
- Struts2的拦截器配置
- Ubuntu 16.04 LTS 降级安装GCC 4.8
- EL的隐含对象(一)【页面上下文对象】
- python-day71--django多表双下划线查询及分组聚合及F/Q查询
- PHP网站记录
- tp5.1报错 页面错误!请稍后再试
- C++中几个值得分析的小问题(1)
- WPF数据视图学习
- string与wstring互转