विकल्प 1 वापसी का उपयोग कर स्विच: -जावास्क्रिप्ट में, ब्रेक का उपयोग करने से बेहतर अभ्यास माना जाता है, एक स्विच स्टेटमेंट से बाहर लौट रहा है? -
function myFunction(opt)
{
switch (opt)
{
case 1: return "One";
case 2: return "Two";
case 3: return "Three";
default: return "";
}
}
विकल्प 2 को तोड़ने का उपयोग कर स्विच:
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);
यहाँ समस्या यह है कि यह हमेशा अनिर्धारित दिखाता है। मुझे लगता है कि ऐसा इसलिए है क्योंकि यह ऑब्जेक्ट के वास्तविक मूल्य में गुजर रहा है, न कि संपत्ति। @ ic3b3rg की टिप्पणियों में वर्णित तकनीक का उपयोग करके इसे ठीक करने के लिए मैं क्या करूँगा?
+1 अच्छा प्रश्न। मैंने यह खुद को सोचा है, और जब मुझे पता है कि यह सिर्फ लौटने के लिए काम करता है, मुझे नहीं पता कि यह सबसे अच्छा अभ्यास है या नहीं। यह देखने के लिए उत्सुक है कि समुदाय क्या सोचता है। – Eli