में जावास्क्रिप्ट चरणीय दायरा क्या "if" कथन में केवल "if" ब्लॉक के भीतर या पूरे फ़ंक्शन के भीतर दिखाई देने वाले चर को घोषित और असाइन किया गया है?आईएफ कथन
क्या मैं निम्नलिखित कोड में यह अधिकार कर रहा हूं? (काम करने लगता है, लेकिन "var संरचना" घोषित करना कई बार अजीब लगता है) कोई क्लीनर समाधान? इसलिए चर एक अंदर घोषित अगर बयान (या किसी भी सशर्त ब्लॉक) बाहरी गुंजाइश के लिए "फहराया" कर रहे हैं -
function actionPane(state) {
if(state === "ed") {
var structure = {
"element" : "div",
"attr" : {
"class" : "actionPane"
},
"contains" : [{
"element" : "a",
"attr" : {
"title" : "edit",
"href" : "#",
"class" : "edit"
},
"contains" : ""
}, {
"element" : "a",
"attr" : {
"title" : "delete",
"href" : "#",
"class" : "delete"
},
"contains" : ""
}]
}
} else {
var structure = {
"element" : "div",
"attr" : {
"class" : "actionPane"
},
"contains" : [{
"element" : "a",
"attr" : {
"title" : "save",
"href" : "#",
"class" : "save"
},
"contains" : ""
}, {
"element" : "a",
"attr" : {
"title" : "cancel",
"href" : "#",
"class" : "cancel"
},
"contains" : ""
}]
}
}
return structure;
}
ध्यान दें कि आप यह भी कर सकते हैं: 'if (state ===" ed ") {वापसी {...}} अन्य {वैरिएबल का उपयोग करने के बजाय {वापसी {...}}। –