⊗jsPmClCr 263 of 505 menu

Zárásokon alapuló számláló JavaScriptben

Írjuk át a korábban megvizsgált kódot úgy, hogy a visszaadott függvény minden alkalommal eggyel növelje a num változó értékét:

function test() { let num = 1; return function() { console.log(num); num++; // hozzáadunk egyet } } let func = test();

Így kiderül, hogy a func függvény minden hívása új értéket fog a konzolra kiírni:

function test() { let num = 1; return function() { console.log(num); num++; } } let func = test(); func(); //kiírja 1-et func(); //kiírja 2-t func(); //kiírja 3-at func(); //kiírja 4-et func(); //kiírja 5-öt

Kiderül, hogy megvalósítottunk egy függvényhívás-számlálót, zárások használatával (pontosabban a num változót használva a függvényünk zárásából).

Vegye figyelembe, hogy a test függvény minden hívása új függvényt fog visszaadni, amelynek saját zárása lesz. Vagyis a különböző számlálók függetlenül fognak működni:

function test() { let num = 1; return function() { console.log(num); num++; }; } let func1 = test(); // első számláló func1(); //kiírja 1-et func1(); //kiírja 2-t let func2 = test(); // második számláló func2(); //kiírja 1-et func2(); //kiírja 2-t

Kiderül, hogy ugyanaz a num változó különböző függvények esetén különböző értékkel rendelkezik!

Vagyis ha kétszer hívjuk a test függvényt, akkor a belőle kapott függvények függetlenül fognak működni, és ezen függvények mindegyike a saját független num változójával fog rendelkezni.

Önállóan, anélkül, hogy belenézne a kódomba, valósítson meg egy függvényhívás-számlálót, amely zárásokon alapul.

Legyen a függvény a zárásban egy 10 szám. Tegye úgy, hogy a függvény minden hívása csökkentse ezt a számot 1-gyel, és írja ki a csökkentett számot a konzolra.

Módosítsa az előző feladatot úgy, hogy a visszaszámlálás 0-ig érjen, majd minden további függvényhívás a konzolra írja azt az üzenetet, hogy a visszaszámlálás befejeződött.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás