नीचे दिए गए कोड स्निपेट, इस लेख से लिए गए, घुंघराले ब्रेसिज़ के स्थान में केवल एक परिवर्तन के कारण अलग-अलग परिणाम क्यों देते हैं ?
जब उद्घाटन कर्ली ब्रेस {एक नई लाइन पर होता है, तो test()रिटर्न undefined, और "नहीं - यह टूट गया: अपरिभाषित" अलर्ट में प्रदर्शित होता है।
function test()
{
return
{ /* <--- curly brace on new line */
javascript: "fantastic"
};
}
var r = test();
try {
alert(r.javascript); // does this work...?
} catch (e) {
alert('no - it broke: ' + typeof r);
}
जब ब्रेस समान लाइन पर होता है return, तो test()एक ऑब्जेक्ट देता है, और "शानदार" अलर्ट हो जाता है।
function test()
{
return { /* <---- curly brace on same line */
javascript: "fantastic"
};
}
var r = test();
try {
alert(r.javascript); // does this work...?
} catch (e) {
alert('no - it broke: ' + typeof r);
}
returnअन्य स्थानों की तुलना में थोड़ा अलग है, और उस जगह में "ब्रेक" का मतलब "मिडस्ट्रीम" की तुलना में "अधिक" है।