【发布时间】:2023-03-14 22:02:01
【问题描述】:
我正在开发一个我们从以前的供应商那里继承的应用程序以及客户端 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语句。
-
如果这是有效的代码,你最好在codereview.stackexchange.com
-
Switch 语句要好得多。此外,在 if / if else / else 块中只能有一个 else。
-
我认为这会对您有所帮助。 stackoverflow.com/questions/2922948/…
-
您可以创建一个数组,其中每个元素都包含一个正则表达式和要调用的函数,然后对其进行迭代,直到找到匹配项;但我怀疑这是否值得。
标签: javascript