Opsi 1 - beralih menggunakan kembali:
function myFunction(opt)
{
switch (opt)
{
case 1: return "One";
case 2: return "Two";
case 3: return "Three";
default: return "";
}
}
Opsi 2 - beralih menggunakan istirahat:
function myFunction(opt)
{
var retVal = "";
switch (opt)
{
case 1:
retVal = "One";
break;
case 2:
retVal = "Two";
break;
case 3:
retVal = "Three";
break;
}
return retVal;
}
Saya tahu bahwa keduanya berfungsi, tetapi apakah satu lagi merupakan praktik terbaik? Saya cenderung menyukai Opsi 1 - beralih menggunakan return terbaik, karena lebih bersih dan sederhana.
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;
}
Untuk memanggil fungsi, saya akan melakukannya dengan cara berikut:
getElementPrefix(SFAIC.common.masterPages.cs);
getElementPrefix(SFAIC.common.masterPages.cp);
getElementPrefix(SFAIC.common.contentPages.cs);
getElementPrefix(SFAIC.common.contentPages.cp);
Masalahnya di sini adalah bahwa ia selalu mengembalikan tidak terdefinisi. Saya menduga bahwa itu karena nilai aktual objek lewat dan bukan properti. Apa yang akan saya lakukan untuk memperbaikinya dengan menggunakan teknik yang dijelaskan dalam komentar @ ic3b3rg ?