⊗jsPmClCr 263 of 505 menu

Števec s sklopitvami v JavaScript

Prepišimo obravnavano kodo tako, da vrnitvena funkcija vsakič poveča vrednost spremenljivke num za ena:

function test() { let num = 1; return function() { console.log(num); num++; // prištejemo ena } } let func = test();

Izkazalo se bo, da bo vsak klic funkcije func v konzolo izpisal novo vrednost:

function test() { let num = 1; return function() { console.log(num); num++; } } let func = test(); func(); //izpiše 1 func(); //izpiše 2 func(); //izpiše 3 func(); //izpiše 4 func(); //izpiše 5

Izkazalo se je, da smo implementirali števec klicov funkcij z uporabo sklopitve (natančneje z uporabo spremenljivke num iz sklopitve naše funkcije).

Upoštevajte, da bo vsak klic funkcije test vrnil novo funkcijo, ki bo imela svojo sklopitev. To pomeni, da bodo različni števci delovali neodvisno:

function test() { let num = 1; return function() { console.log(num); num++; }; } let func1 = test(); // prvi števec func1(); //izpiše 1 func1(); //izpiše 2 let func2 = test(); // drugi števec func2(); //izpiše 1 func2(); //izpiše 2

Izkazalo se je, da bo imela ista spremenljivka num za različne funkcije različno vrednost!

To pomeni, če pokličemo funkcijo test dvakrat, bodo funkcije, pridobljene iz nje, delovale neodvisno in vsaka od teh funkcij bo imela svojo neodvisno spremenljivko num.

Samostojno, brez zaganjanja v mojo kodo, implementirajte števec klicev funkcije, ki deluje s sklopitvami.

Naj funkcija v sklopitvi hrani število 10. Poskrbite, da vsak klic funkcije zmanjša to število za 1 in izpiše v konzolo zmanjšano število.

Modificirajte prejšnjo nalogo tako, da odštevanje doseže 0, nato pa vsak naslednji klic funkcije izpiše v konzolo sporočilo, da je odštevanje končano.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni