从 switch 语句返回是否被视为比使用 break 更好的做法?[已关闭]
2022-08-30 00:26:50
选项 1 - 使用回车进行
切换
:
function myFunction(opt) {
switch (opt) {
case 1: return "One";
case 2: return "Two";
case 3: return "Three";
default: return "";
}
}
选项 2 - 使用断路器进行
切换
:
function myFunction(opt) {
let retVal = "";
switch (opt) {
case 1:
retVal = "One";
break;
case 2:
retVal = "Two";
break;
case 3:
retVal = "Three";
break;
}
return retVal;
}
我知道两者都有效,但还有一种最佳实践吗?我倾向于喜欢选项1 - 使用最佳,因为它更干净,更简单。switch
return
以下是我使用@ic3b3rg评论中提到的技术的特定示例的jsFiddle:
let SFAIC = {};
SFAIC.common = {
masterPages: {
cs: "CS_",
cp: "CP_"
},
contentPages: {
cs: "CSContent_",
cp: "CPContent_"
}
};
function getElementPrefix(page) {
return (page in SFAIC.common.masterPages)
? SFAIC.common.masterPages[page]
: (page in SFAIC.common.contentPages)
? SFAIC.common.contentPages[page]
: undefined;
}
要调用该函数,我将通过以下方式执行此操作:
getElementPrefix(SFAIC.common.masterPages.cs);
getElementPrefix(SFAIC.common.masterPages.cp);
getElementPrefix(SFAIC.common.contentPages.cs);
getElementPrefix(SFAIC.common.contentPages.cp);
这里的问题是它总是返回未定义。我猜这是因为它传入了对象文本的实际值,而不是属性。我该怎么做才能使用@ic3b3rg的评论中描述的技术来解决此问题?