当前位置: 首页 > Web前端 > HTML

提高代码可读性,减少if-else的几个小技巧

时间:2023-03-28 19:55:40 HTML

前言相信大家或多或少都接触过带有巨大if-else的项目代码。人们非常恼火。有时在检查出错误后,我感到非常空虚。本文没有排除或歧视ifelse的意思。大家都知道ifelse好用。这里只是为你在某些特定场景下增加一种思路,增加我们代码的可读性。短路操作Javascript逻辑或||短路操作有时可以用来代替一些比较简单的ifelse逻辑或者||短路运算:如果左边可以变为真,则返回左边公式的值,否则返回右边公式的值。让cif(a){c=a}else{c=b}让大家看了上面的代码感觉不舒服(我有点强迫症),明明是一个很简单的判断,但是需要几步代码行来做到这一点。这时候我们可以使用短路操作来简化我们的代码。让c=一个||b看起来简洁了很多。三元运算符我想大家对三元运算符应该不陌生。很多时候,我们可以用三元运算符代替ifelse进行简单的判断。这里只推荐一层三元算子,因为多层embeddingSets三元算子的可读性也不是很好。示例:如果条件为真则返回1,否则返回0:constfn=(nBoolean){if(nBoolean){return1}else{return0}}//使用三元运算符constfn=(nBoolean){returnnBoolean?1:0}三元运算符也用在很多地方,比如:条件赋值,递归...//nBoolean为真时num值为10,否则为5letnum=nBoolean?10:5;//求0-n之间整数的和letsum=0;functionadd(n){sum+=n;返回n>=2?添加(n-1):结果;}设num=add(10);//55switchcase上面两种方法:短路运算和三元运算都很好用,代码也很简洁,但是只能用于简单的判断,不能用于多条件判断。对于switchcase,虽然它的可读性确实比elseif要高,但是我想大家应该觉得写起来比较麻烦(反正我觉得是比较麻烦)。例:有A、B、C、D四种,当使用A、B时,输出1,C输出2,D输出3,默认输出0。lettype="A";//ifelseifif(type==="A"||type==="B"){console.log(1);}elseif(type==="C"){console.log(2);}elseif(type==="D"){console.log(3);}else{console.log(0);}//switchcaseswitch(type){case"A“:案例“B”:console.log(1);休息;案例“C”:console.log(2);休息;案例“D”:console.log(3);休息;default:console.log(0);}ObjectConfiguration/StrategyMode对象配置看起来类似于策略模式,根据不同的参数使用不同的数据/算法/函数。策略模式就是把一系列算法封装起来,使它们可以相互替换。封装的算法是独立的,其特性不能被外部改变。接下来我们使用对象配置的方法来实现上面的例子lettype="A";lettactics={A:1,B:1,C:2,D:3,default:0,};console.log(战术[类型]);//1接下来用几个例子让大家更加熟悉。**案例1商场促销价案例2年终奖**查看示例:Exampleofreducingif-elsetechniques