以这种方式使用if/else-if/else是一种很好的做法
Is using if/else if/else this way a good practice?
我正在开发一款从以前的供应商那里继承的应用程序,在客户端javascript的许多地方,我看到了这样的东西:
if (self.DESIGNEE_TYPE_SCREEN_ROUTE_REGEX.test(url)) {
goToSelectDesigneeType.call(self);
} else if (self.FUNCTION_CODES_SCREEN_ROUTE_REGEX.test(url)) {
goToSelectFunctionCodes.call(self);
} else if (self.DISCIPLINE_SCREEN_ROUTE_REGEX.test(url)) {
goToSelectDiscipline.call(self);
} else {
goToSelectDesigneeType.call(self);
} else ...
这是用来进入工作流的下一步的,它工作得很好,但有些地方我不太满意。这很常见吗,或者有更好的方法做同样的事情吗?
您可以在此处使用switch(true)
习语。
switch(true) {
case self.DESIGNEE_TYPE_SCREEN_ROUTE_REGEX.test(url) :
goToSelectDesigneeType.call(self);
break;
case self.FUNCTION_CODES_SCREEN_ROUTE_REGEX.test(url) :
goToSelectFunctionCodes.call(self);
break;
case self.DISCIPLINE_SCREEN_ROUTE_REGEX.test(url) :
goToSelectDiscipline.call(self);
break;
default :
goToSelectDesigneeType.call(self);
}
但就我个人而言,这本书读起来容易多了。
相关文章:
- 使用JavaScript验证用户交互/输入-这是一种很好的方法
- unbind().click(function(){..})是一种很好的做法
- 以这种方式使用if/else-if/else是一种很好的做法
- 用javascript定位是一种很好的做法
- 嵌套事件在Javascript/JQuery中是一种很好的实践吗?
- 在 html5 中预加载图像是一种很好的做法吗?
- 什么'将一些有用的js库封装到angular模块是一种很好的做法
- 正在删除“;旧的“;JSONP脚本标记是一种很好的做法
- MVC-有没有一种很好的方法可以将控件与它们各自的javascript捆绑在一起
- 什么是稳健的&这是一种很好的方式,可以循环穿过一根绳子,把它的一部分刮下来
- 在使用require('some_module.js')时运行脚本是一种很好的做法
- 将html分配给javascript变量是一种很好的做法
- 有没有一种很好的方法来制作剑道自定义小部件,使用Typescript类
- 使用JavaScript呈现整个页面是一种很好的做法
- 你知道一种很好的PHP内联条件赋值方法吗?
- 在Redux/Flux中,用于乐观更新的操作存储是一种很好的方法
- 有没有一种很好的跨浏览器的方法来检测输入的变化?然而
- web浏览器与RESTful API交互是一种很好的实践吗?
- 为什么JavaScript和HTML的分离是一种很好的做法
- 使用DOMParser来呈现html是一种很好的方法