【发布时间】:2018-11-27 07:25:23
【问题描述】:
我现在正在重构我的代码..我必须重构我的大量 if..else 语句,所以我现在要根据每个条件创建许多函数。
代码:
class Strategy {
constructor(state) {
this.state = state;
if(this.state === 1){
return first();
}else if (val === 2){
return second();
}else if (val === 3){
return third();
}
}
}
function first(){
//do something
}
function second(){
//do something
}
function third(){
//do something
}
let firstClass = new Strategy(1);
每个函数都可以按条件声明??? 或者,在原型方法中声明每个函数更好吗?/?
【问题讨论】:
-
欢迎来到 StackOverflow。我不认为
constructor()意味着返回任何东西。您只需使用它来初始化一个实例。但除非函数在其他地方共享,否则最好将它们作为匿名函数内联包含 -
更好的方法是原型化你的函数并使用 switch case 来执行函数。
-
谢谢大家
标签: javascript node.js if-statement design-patterns refactoring