选择1 - 切换使用回报:在JavaScript中,退出switch语句被认为是比使用break更好的做法吗?
function myFunction(opt)
{
switch (opt)
{
case 1: return "One";
case 2: return "Two";
case 3: return "Three";
default: return "";
}
}
选项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;
}
我知道,无论工作,而是多了一个最佳实践的?我倾向于喜欢选项1 - 使用最佳返回开关,因为它更干净,更简单。
Here is a jsFiddle of my specific example using the technique mentioned in @ic3b3rg's comments:
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;
}
要调用的函数,我将在以下方面做到这一点:这里
getElementPrefix(SFAIC.common.masterPages.cs);
getElementPrefix(SFAIC.common.masterPages.cp);
getElementPrefix(SFAIC.common.contentPages.cs);
getElementPrefix(SFAIC.common.contentPages.cp);
问题是,它总是返回undefined。我猜测这是因为它传递的是对象字面值的实际值而不是属性值。我会如何解决这个问题,使用@ ic3b3rg的评论中描述的技术?
+1好问题。我自己想过这个,虽然我知道它可以回归,但我不知道这是否是最佳做法。很想看看社区的想法。 – Eli 2011-05-24 18:04:00