Tùy chọn 1 - chuyển đổi sử dụng return:
function myFunction(opt)
{
switch (opt)
{
case 1: return "One";
case 2: return "Two";
case 3: return "Three";
default: return "";
}
}
Tùy chọn 2 - chuyển đổi bằng cách sử dụng 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;
}
Tôi biết rằng cả hai công việc, nhưng là một trong những thực hành tốt nhất? Tôi có xu hướng thích Tùy chọn 1 - chuyển đổi bằng cách sử dụng return tốt nhất, vì nó sạch hơn và đơn giản hơn.
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;
}
Để gọi hàm, tôi sẽ làm như vậy theo các cách sau:
getElementPrefix(SFAIC.common.masterPages.cs);
getElementPrefix(SFAIC.common.masterPages.cp);
getElementPrefix(SFAIC.common.contentPages.cs);
getElementPrefix(SFAIC.common.contentPages.cp);
Vấn đề ở đây là nó luôn trả về không xác định. Tôi đoán rằng đó là vì nó vượt qua giá trị thực của đối tượng theo nghĩa đen chứ không phải thuộc tính. Tôi sẽ làm gì để khắc phục điều này bằng cách sử dụng kỹ thuật được mô tả trong nhận xét của @ ic3b3rg ?