不管是刚刚会写代码的新手菜鸟,还是已经在代码界奋斗几年的老码农,

if else我想肯定是不会陌生的,而且肯定是用的不想再用了,

在这里我就分享一下怎么样可以减少if else的使用,使你的代码看上去就是有种高大上的感觉

先来一个最简单的例子,看代码

function foo(params){ if(params == 'red'){ console.log(1); }else if(params == 'black'){ console.log(2); }else if(params == 'yellow'){ console.log(3); }else{ console.log(0); } }

这个方法应该很好理解吧,表示三种颜色对应的三个值,

ok,这是最简单也是最容易看懂的,但是这样使得代码的维护性以延展性看上去并不是那么的友好,

说白了,其实就是low,

那么,问题来了,怎么样使得这个看似简单的逻辑能够看上去高大上一点呢?

首先,有童鞋可能会想到switch,没错,这也是一种方法,

function foo(params){ switch(params){ case 'red': console.log(1); break; case 'black': console.log(2); break; case 'yellow': console.log(3); break; default: console.log(0); } }

这样看上去是比上面的if else要好维护多了,但是我们现在上升一个点来讲,这样的代码还是一般,

怎么说呢?打个比方说,

现在你就是个包工头,你要把手上的活分配给手下的伙计干,于是你需要一个个报名字,让那些伙计来领活儿干,看上去好像是没什么问题,

shuxing那么我们再上升一个点来说一下,我们可不可以不要报名字,直接让他们来拿任务呢?

ok,看下面的代码

function foo(params){ var handle = {}, handle['red'] = 1, handle['black'] = 2, handle['yellow'] = 3; console.log(handle[params] || 0); }

我先定义好了三种颜色所对应的值,所以在取参数的时候,就可以直接按照属性来取值了,

那么,上面的想法,其实就是包工头先将活儿的名称定义好,手下的人直接按照自己的定位来领取活儿,

而且这中想法的最大特点就是扩展性很强,如果说要加一个分支,就是新增一个属性,

虽然我举得例子很简单,但是可以减少很多的if else的出现,使得我们的代码拥有更好的可读性,

希望这种想法能被大家应用吧,嘿嘿!!

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

主题: 开源其实定位
分页:12
转载请注明
本文标题:尽量减少if else的使用---js面向对象 - codingBingo的个人空间 - 开源中国社区
本站链接:http://www.codesec.net/view/484327.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(23)