⊗jsPmClCNG 265 of 505 menu

जावास्क्रिप्ट में ग्लोबल काउंटर वेरिएबल

चलिए वेरिएबल num को फ़ंक्शन के बाहर ले जाते हैं, जिससे यह ग्लोबल बन जाएगी:

let num = 1; // ग्लोबल वेरिएबल function test() { return function() { console.log(num); num++; }; }

इस स्थिति में सभी रिटर्न की गई फ़ंक्शन इसी ग्लोबल वेरिएबल को बदल देंगी और काउंटर एक-दूसरे पर निर्भर होकर काम करेंगे:

let num = 1; function test() { return function() { console.log(num); num++; }; } let func1 = test(); // पहला काउंटर func1(); // 1 प्रिंट करेगा func1(); // 2 प्रिंट करेगा let func2 = test(); // दूसरा काउंटर func2(); // 3 प्रिंट करेगा func2(); // 4 प्रिंट करेगा

हमारा पिछला कोड स्वतंत्र काउंटर क्यों बना रहा था? इस कोड को याद करें:

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

बात यह है कि वेरिएबल num - फ़ंक्शन test के अंदर लोकल है। इसलिए test का हर बार कॉल होना अपनी एक लोकल वेरिएबल बनाता है।

इसलिए रिटर्न की गई फ़ंक्शन test फ़ंक्शन की अपनी-अपनी लोकल वेरिएबल को रेफर करेंगी। इसी तरह से स्वतंत्रता प्राप्त होती है।

अगर num को ग्लोबल वेरिएबल बना दिया जाए - यह भी एक क्लोजर होगा। बस रिटर्न की गई फ़ंक्शन के लेक्सिकल एन्वायरनमेंट एक ही वेरिएबल num को रेफर करते हैं - इस वेरिएबल में कोई भी बदलाव सभी फ़ंक्शन में दिखाई देगा।

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

let counter = 0; function test() { return function() { console.log(counter); counter++; }; } let func = test; let func1 = func(); let func2 = func(); func1(); func2(); func1(); func2();

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

function test() { let counter = 0; return function() { return function() { console.log(counter); counter++; }; }; } let func = test()(); let func1 = func; let func2 = func; func1(); func2(); func1(); func2();

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

function test() { let counter = 0; return function() { return function() { console.log(counter); counter++; }; }; } let func = test(); let func1 = func(); let func2 = func(); func1(); func2(); func1(); func2();
हिन्दी
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
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें