मेरे पास मेरे HTML पृष्ठ में नीचे एक जावास्क्रिप्ट कोड ब्लॉक है। जब मैं पेज लोड करके इसे चलाता हूं। मुझे अपने ब्राउज़र कंसोल पर आउटपुट नीचे मिल रहा है।"अनकॉटेड टाइप एरर: अपरिभाषित कोई फ़ंक्शन नहीं है" जावास्क्रिप्ट कोड ब्लॉक
outer world
Uncaught TypeError: undefined is not a function
आपको कोड स्निपेट में देख सकते हैं, मैं समारोह कोड में कहीं भी b
नामित क्रियान्वित नहीं कर रहा हूँ। लेकिन कोड चलाने पर, उस फ़ंक्शन का आउटपुट undefined is not a function error
के साथ आ रहा है जिसे मैं अपने कोड ब्लॉक में कहीं भी नहीं ढूंढ सका।
इस परिदृश्य में और जोड़ने के लिए, कोड में किसी भी हिस्से को हटाते समय कोई लॉग नहीं है। अर्थात्। अगर मैं कोड से बी के प्रारंभिकरण को हटा देता हूं तो कोई त्रुटि और आउटपुट नहीं होता है। अगर मैं स्वयं निष्पादन फ़ंक्शन ब्लॉक को हटा देता हूं, तो कोई लॉग या त्रुटियां नहीं हैं। यह सच है कि बी की प्रारंभिक रेखा में अर्धविराम गुम है। लेकिन इस तरह के आउटपुट प्रदान करने के लिए यह क्या मायने रखता है मुझे भ्रमित करता है। क्या आप इस व्यवहार के लिए तर्क जानने में मेरी मदद करेंगे?
क्या आप कृपया मुझे यह समझने में मदद कर सकते हैं कि ऐसा क्यों हो रहा है?
var b = function() {
console.log('outer world');
}
(function() {
})();
अंत में, एक उदाहरण जहां जावास्क्रिप्ट स्वचालित रूप से अर्धविराम नहीं डालता है, जहां इसे जोड़ने के लिए सहज लगता है! – Barmar
कुछ भी जो '(' या '[' जरूरतों ';' से पहले शुरू होता है। – kornieff
हां। इससे मुझे परिदृश्य को समझने में मदद मिलती है। क्या आप रिकर्ड स्टाफ के उत्तर में प्रदान किए गए लिंक को शामिल करेंगे। इससे मुझे और समझने में मदद मिली। – mithunsatheesh