我一直在考虑Python中缺少switch语句,并想知道使用Python字典的解决方法是否可以使用Object文字在JavaScript中以相同的方式处理?
在JavaScript中,我传统上看到switch语句甚至if / else语句用于有条件地返回函数。
switch(service) {
case 'netflix':
return netflix_service();
}....
我想知道你是否可以在JS中使用对象文字,这对我来说至少在语法上看起来更简洁。例如:
services = {
netflix: netflix(),
...
};
但是有没有理由我继续通过对象文字方法看到switch语句或if / else语句?无论是表演还是惯例?
提前致谢。
答案 0 :(得分:1)
使用if...else
,switch
或函数字典之间没有明显的性能差异(但请参阅Pointy的第一条评论)。除非你把你的代码放在100万的循环中,否则它甚至都不值得谈论它。所以这一切都归结为代码可读性。对于两个以上的选项,switch
和函数字典看起来比if...else
好得多。考虑这两个片段:
switch(service) {
case 'netflix':
return netflix_service();
case 'facebook':
return facebook_service();
case 'youtube':
return youtube_service();
}
if(service == 'netflix')
return netflix_service();
else if(service == 'facebook')
return facebook_service();
else if(service == 'youtube')
return youtube_service();
好消息是switch
恰好也比if...else
快。