⊗jsPmClCr 263 of 505 menu

Një numërues me mbyllje në JavaScript

Le ta rishkruajmë kodin që kemi shqyrtuar në mënyrë që funksioni i kthyer çdo herë të rrisë vlerën e variablit num për një:

function test() { let num = 1; return function() { console.log(num); num++; // shtojmë një } } let func = test();

Kështu, çdo thirrje e funksionit func do të shfaqë në konsolë një vlerë të re:

function test() { let num = 1; return function() { console.log(num); num++; } } let func = test(); func(); //do të shfaqë 1 func(); //do të shfaqë 2 func(); //do të shfaqë 3 func(); //do të shfaqë 4 func(); //do të shfaqë 5

Kështu, ne kemi implementuar një numërues të thirrjeve të funksioneve, duke përdorur mbyllje (më saktë duke përdorur variablin num nga mbyllja e funksionit tonë).

Kini parasysh se çdo thirrje e funksionit test do të kthejë një funksion të ri, i cili do të ketë mbylljen e vet. Kjo do të thotë se numërues të ndryshëm do të punojnë në mënyrë të pavarur:

function test() { let num = 1; return function() { console.log(num); num++; }; } let func1 = test(); // numëruesi i parë func1(); //do të shfaqë 1 func1(); //do të shfaqë 2 let func2 = test(); // numëruesi i dytë func2(); //do të shfaqë 1 func2(); //do të shfaqë 2

Kështu, e njëjta variabël num për funksione të ndryshëm do të ketë vlera të ndryshme!

Kjo do të thotë se nëse e thirrim funksionin test dy herë, atëherë funksionet e marra prej tij do të punojnë në mënyrë të pavarur dhe secili prej këtyre funksioneve do të ketë variablin e saj të pavarur num.

Vetë, pa parë në kodin tim, implementoni një numërues të thirrjeve të funksionit, që punon me mbyllje.

Le të ruajë funksioni në mbyllje numrin 10. Bëni që çdo thirrje e funksionit të zvogëlojë këtë numër për 1 dhe të shfaqë në konsolë numrin e zvogëluar.

Modifikoni detyrën e mëparshme në mënyrë që numërimi të arrijë 0, dhe pastaj çdo thirrje pasuese e funksionit të shfaqë në konsolë mesazhin se numërimi ka përfunduar.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo