Option 1 - Schalter mit Return:
function myFunction(opt)
{
switch (opt)
{
case 1: return "One";
case 2: return "Two";
case 3: return "Three";
default: return "";
}
}
Option 2 - Schalter mit Pause:
function myFunction(opt)
{
var retVal = "";
switch (opt)
{
case 1:
retVal = "One";
break;
case 2:
retVal = "Two";
break;
case 3:
retVal = "Three";
break;
}
return retVal;
}
Ich weiß, dass beide funktionieren, aber ist eine weitere bewährte Methode? Ich mag Option 1 - schalte am besten mit Return um, da es sauberer und einfacher ist.
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;
}
Um die Funktion aufzurufen, würde ich dies auf folgende Arten tun:
getElementPrefix(SFAIC.common.masterPages.cs);
getElementPrefix(SFAIC.common.masterPages.cp);
getElementPrefix(SFAIC.common.contentPages.cs);
getElementPrefix(SFAIC.common.contentPages.cp);
Problem hierbei ist, dass es immer undefiniert zurückgibt. Ich vermute, dass es daran liegt, dass der tatsächliche Wert des Objektliteral und nicht die Eigenschaft übergeben wird. Was würde ich tun, um dies mit der in den Kommentaren von @ ic3b3rg beschriebenen Technik zu beheben ?