⊗jsPmClCr 263 of 505 menu

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

आइए हमने जो कोड देखा है उसे फिर से लिखें ताकि वापसी फ़ंक्शन हर बार चर num का मान बढ़ा दे एक से:

function test() { let num = 1; return function() { console.log(num); num++; // एक जोड़ें } } let func = test();

यह पता चला है कि फ़ंक्शन func का प्रत्येक कॉल कंसोल में एक नया मान आउटपुट करेगा:

function test() { let num = 1; return function() { console.log(num); num++; } } let func = test(); func(); //1 आउटपुट करेगा func(); //2 आउटपुट करेगा func(); //3 आउटपुट करेगा func(); //4 आउटपुट करेगा func(); //5 आउटपुट करेगा

यह पता चला है कि हमने कॉल काउंटर लागू किया है फ़ंक्शन, क्लोजर का उपयोग करके (बल्कि उपयोग करके) चर num हमारे फ़ंक्शन के क्लोजर से)।

ध्यान रखें कि फ़ंक्शन test का प्रत्येक कॉल एक नया फ़ंक्शन लौटाएगा, जिसमें इसका अपना क्लोजर होगा। यानी अलग-अलग काउंटर स्वतंत्र रूप से काम करेगा:

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

यह पता चला है कि एक ही चर num विभिन्न कार्यों के लिए अलग-अलग मान होंगे!

यानी अगर हम फ़ंक्शन test को कॉल करते हैं दो बार, तो इससे प्राप्त कार्य होंगे स्वतंत्र रूप से काम करते हैं और प्रत्येक इन कार्यों का अपना स्वतंत्र होगा चर num

स्वतंत्र रूप से, मेरे कोड में देखे बिना, फ़ंक्शन कॉल काउंटर लागू करें, काम कर रहा है क्लोजर पर।

चलो क्लोजर में फ़ंक्शन नंबर 10 स्टोर करता है। इसे ऐसा बनाएं कि फ़ंक्शन का प्रत्येक कॉल इस संख्या को 1 से कम कर दे और आउटपुट कर दे कंसोल में घटा हुआ नंबर।

पिछली समस्या को इस प्रकार संशोधित करें कि उलटी गिनती 0 तक पहुँच जाए, और फिर प्रत्येक फ़ंक्शन के बाद के कॉल कंसोल में आउटपुट होंगे एक संदेश कि उलटी गिनती समाप्त हो गई है।

हिन्दी
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
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें