js-ifelse-奇技淫巧
Posted ChalresQQ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js-ifelse-奇技淫巧相关的知识,希望对你有一定的参考价值。
我们有A,B,C,D四个不同的类别,在最开始的时候只有三个类别,并且两个类别是做同样的事:
1 function categoryHandle(category) { 2 if(category !== \'A\') { 3 console.log(\'B, C\'); 4 } else { 5 console.log(\'A\'); 6 } 7 }
接着,出现了类别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\'); } }
然后
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\'); } }
当然用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(); }
以上是关于js-ifelse-奇技淫巧的主要内容,如果未能解决你的问题,请参考以下文章