我对JavaScript有点新,我只是想知道这是否可能。如何从返回的方法优化if语句布尔值
考虑一下:
if(foo('1')){
// do something
}
else if(foo('2')){
// do something else
}
else if(foo('3')){
// do something different
}
else if(foo('4')){
// do something completely different
}
...
else if(foo(n)){
...
}
foo(stringValue)
是返回的方法无论是true
或false
但美中不足的是,我不能以任何方式改变该方法(例如改变的返回值)。现在,如果我想重构代码,我可能会将所有foo参数值放入一个集合中,为if语句中的每个独特操作创建一个方法,遍历所有参数值并在每次foo(n )回归真实,但这似乎是一个非常丑陋的做法。是否有更好的方式来实现这个使用switch语句?
字符串参数是'foo'唯一的独立变量吗?或者,foo('1')能得出多个不同的结果吗? –
嗨本,我不知道我是否正确理解你的问题。我没有在任何if语句中调用foo。你能否详细说明你的评论? –
有一种使用'switch'语句的方法(参见Juhana的回答),但我认为这不一定更好。你的代码有什么问题? – Bergi