⊗jsPmClLEA 261 of 505 menu

JavaScript में फ़ंक्शनों के लेक्सिकल वातावरण का अनुप्रयोग

मान लीजिए कि हमारे पास एक फ़ंक्शन है, जो अपने परिणाम के रूप में दूसरा फ़ंक्शन वापस करता है:

function test() { return function() { } }

यदि पैरेंट फ़ंक्शन में कोई वेरिएबल हैं, तो ये वेरिएबल रिटर्न किए गए फ़ंक्शन के लेक्सिकल वातावरण में शामिल होंगे:

function test() { let num = 1; // पैरेंट फ़ंक्शन का वेरिएबल return function() { // लेक्सिकल वातावरण = {num: 1} } }

आइए हमारे रिटर्न किए गए फ़ंक्शन के कोड में console.log लिखें, जो वेरिएबल num का मान प्रिंट करेगा:

function test() { let num = 1; return function() { console.log(num); } }

आइए अब पैरेंट फ़ंक्शन test को कॉल करें और इसके काम के परिणाम को वेरिएबल func में लिखें:

function test() { let num = 1; return function() { console.log(num); } } let func = test();

वेरिएबल func में रिटर्न किया गया फ़ंक्शन लिखा जाएगा। आइए हमारे फ़ंक्शन को कॉल करें - इसके परिणाम के रूप में यह वेरिएबल num की सामग्री को प्रिंट करेगा:

function test() { let num = 1; return function() { console.log(num); } } let func = test(); func(); // 1 प्रिंट करेगा

यदि वेरिएबल num को फ़ंक्शन के बाहर प्रिंट करने का प्रयास करें - तो यह अनुपलब्ध होगी:

function test() { let num = 1; return function() { console.log(num); } } console.log(num); // वेरिएबल num यहाँ अनुपलब्ध है

जैसा कि आप देख रहे हैं, लोकल वेरिएबल num हमारे फ़ंक्शन के लेक्सिकल वातावरण से बंध गई है और अnow, कोड में कहीं भी इस फ़ंक्शन को कॉल करके, हम वेरिएबल num का मान प्राप्त कर सकते हैं, भले ही कॉल करने की जगह पर यह वेरिएबल स्वयं अनुपलब्ध हो।

वास्तव में, वेरिएबल num को ग्लोबल बनाकर समान परिणाम प्राप्त किए जा सकते हैं:

function test() { return function() { console.log(num); } } let num = 1; // ग्लोबल वेरिएबल let func = test(); func(); // 1 प्रिंट करेगा

हालाँकि, यहाँ एक महत्वपूर्ण अंतर होगा: नए वेरिएंट में वेरिएबल num को फ़ंक्शन के बाहर बदला जा सकता है (क्योंकि यह ग्लोबल है), जबकि पुराने वेरिएंट में - नहीं।

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या प्रिंट होगा:

function test() { let num1 = 1; let num2 = 2; return function() { return num1 + num2; } } let func = test(); console.log(func());

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या प्रिंट होगा:

function test() { let num1 = 1; let num2 = 2; return function() { return num1 + num2; } } console.log(test()());

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या प्रिंट होगा:

function test() { let num1 = 1; return function() { return num1 + num2; } } let num2 = 2; let func = test(); console.log(func());

कोड चलाए बिना निर्धारित करें कि कंसोल में क्या प्रिंट होगा:

function test() { let num = 1; return function() { return num; } } let num = 2; let func = test(); console.log(func());
हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें