Option 1 - switch using return:
(选项1 - 使用return返回:)
function myFunction(opt)
{
switch (opt)
{
case 1: return "One";
case 2: return "Two";
case 3: return "Three";
default: return "";
}
}
Option 2 - switch using break:
(选项2 - 使用break切换:)
function myFunction(opt)
{
var retVal = "";
switch (opt)
{
case 1:
retVal = "One";
break;
case 2:
retVal = "Two";
break;
case 3:
retVal = "Three";
break;
}
return retVal;
}
I know that both work, but is one more of a best practice?
(我知道两者都有效,但又是一种最佳实践吗?)
I tend to like Option 1 - switch using return best, as it's cleaner and simpler.(我倾向于喜欢选项1 - 使用返回最佳切换,因为它更干净,更简单。)
Here is a jsFiddle of my specific example using the technique mentioned in @ic3b3rg's comments :
(这是我使用@ ic3b3rg评论中提到的技术的具体例子的jsFiddle :)
var 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;
}
To call the function, I would do so in the following ways:
(要调用该函数,我会通过以下方式执行此操作:)
getElementPrefix(SFAIC.common.masterPages.cs);
getElementPrefix(SFAIC.common.masterPages.cp);
getElementPrefix(SFAIC.common.contentPages.cs);
getElementPrefix(SFAIC.common.contentPages.cp);
Problem here is that it always returns undefined.
(这里的问题是它总是返回undefined。)
I'm guessing that it's because it's passing in the actual value of the object literal and not the property.(我猜这是因为它传递的是对象文字的实际值,而不是属性。)
What would I do to fix this using the technique described in @ic3b3rg's comments?(我将如何使用@ ic3b3rg的评论中描述的技术来解决这个问题?)
ask by Code Maverick translate from so
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…