जावास्क्रिप्ट में, आप इस तरह अकेला कोड ब्लॉक हो सकता है, एक if
, function
या ऐसा ही कुछ पूर्ववर्ती, कोड में मनमाने ढंग से रखा बिना कोड ब्लॉक, कि है,:जावास्क्रिप्ट में अकेला कोड ब्लॉक का उद्देश्य क्या है?
var a = 3,
b = 4;
{
a = 50;
b = 50;
}
alert(a + b); //alerts 100
मैं कुछ अन्य भाषाओं पता यह है (मुझे लगता है कि सी ++ करता है), और वे इसे स्कोप नियंत्रण के लिए उपयोग करते हैं: अकेले कोड ब्लॉक के अंदर घोषित चर को इसके बाहर एक्सेस नहीं किया जा सकता है। लेकिन चूंकि जावास्क्रिप्ट ब्लॉक ब्लॉक के बजाए कार्यक्षेत्र का कार्य करता है, इसलिए आपको एक ही प्रभाव को प्राप्त करने के लिए एक स्व-निष्पादन कार्य (function(){})()
का उपयोग करना होगा।
क्या इस निर्माण के लिए कोई उद्देश्य है? क्या आपने कभी इसका इस्तेमाल किया है? क्या स्पेक इसका जिक्र करता है? क्या यह सिर्फ व्याकरण का एक दुष्प्रभाव है जिसमें कोड ब्लॉक के बारे में कुछ सामान्य नियम हैं?
विशिष्टता: http://ecma262-5.com/ELS5_HTML.htm#Section_12.1 –
मैं अधिकांश समय लगता है कि आप देखते हैं कि यह कोड किसी को जो गलती से लगा कि वे ब्लॉक गुंजाइश मिल रहे थे द्वारा लिखा गया था। कुछ लोग जो जानते हैं कि यह स्कोप नियंत्रण नहीं देता है, वैसे भी वे दृश्य समूह को पसंद करते हैं, लेकिन मुझे लगता है कि _harder_ पढ़ने के लिए है क्योंकि यह गुंजाइश का तात्पर्य है और मुझे आश्चर्य है कि मूल कोडर का क्या अर्थ है। – nnnnnn
@ फ़ेलिक्सक्लिंग किसी को भी समझ सकता है ** ** – c69