【发布时间】:2018-09-14 10:21:53
【问题描述】:
有没有更好的方法/编码风格来在不同的条件下执行不同的功能不使用 if 语句?
我一直在 JavaScript 中使用以下方式进行编码:(例如,不同条件下的函数可能使用 API 中的不同获取方法)
if(answer == 'a'){
foo()
if(answer == 'b'){
bar()
if(answer == 'c'){
bar_2()
if(answer == 'd'){
foo_3()
我曾想过使用eval(),但这是一个好方法吗?例如,创建一个对象由作为条件的键和作为属性的函数名组成。
conditions:{
a: 'foo',
b: 'bar',
c: 'foo_2',
d: 'bar_2',
}
然后像eval(this.conditions[a]) 一样运行它
但我也听说使用eval 很难进行测试。
【问题讨论】:
-
不要存储带有函数名和
eval的字符串。只需存储函数本身,然后调用它们!
标签: javascript performance coding-style