⊗jsPmClInr 262 of 505 menu

Aizvēršanās JavaScript

Tagad pētīsim jēdzienu aizvēršanās (closure). Patiesībā jūs jau esat iepazinušies ar šo jēdzienu, atliek tikai apgūt pareizo terminoloģiju.

Tātad, aizvēršanās ir funkcija kopā ar visām ārējām mainīgajām, kas tai ir pieejamas. Vai, citiem vārdiem sakot, aizvēršanās ir funkcija kopā ar savu leksisko vidi.

JavaScript visbiežāk, sakot "funkcijas aizvēršanās", domā nevis pašu funkciju, bet gan tieši tās ārējos mainīgos. Ja kāda funkcija iegūst mainīgo no savas leksiskās vides, tad saka "mainīgais tiek ņemts no aizvēršanās".

Atsimēsim kodu, ko mēs izveidojām iepriekšējā nodarbībā:

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

Šajā gadījumā var teikt, ka funkcija func iegūst mainīgā num vērtību no aizvēršanās. Var arī teikt, ka funkcija func glabā mainīgā num vērtību aizvēršanās.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt