⊗jsPmFNOIP 250 of 505 menu

Väliste ja sisemiste funktsioonide parameetrid JavaScriptis

Teeme nii, et nii välimine kui ka sisemine funktsioon võtaksid parameetreid vastu:

function test(num) { function func(localNum) { console.log(localNum); } }

Edastame välimise funktsiooni parameetri sisemise funktsiooni väljakutsele:

function test(num) { function func(localNum) { console.log(localNum); // väljastab 1 } func(num); //!! edastame parameetri } test(1); // edastame parameetrina arvu

Seega on sisemises funktsioonis kättesaadav muutuja num kui väline muutuja vanemfunktsioonist ja muutuja localNum, mis on sisemise funktsiooni lokaalne muutuja.

Mõlemal neist muutujatest on samad väärtused:

function test(num) { function func(localNum) { console.log(num); // väljastab 1 console.log(localNum); // väljastab 1 } func(num); } test(1);

Nende erinevus on järgmine: kui sisemises funktsioonis muudetakse muutujat num - siis see muutub ka välimises funktsioonis:

function test(num) { function func(localNum) { num = 2; // muudame muutujat num } func(num); // edastame parameetri console.log(num); // väljastab 2 } test(1); // edastame parameetrina arvu

Muutuja localNum on aga lokaalne. Selle muutmine ei too kaasa mingisuguseid muutusi välimises funktsioonis. Ja see muutuja localNum ei ole nähtav väljaspool sisemist funktsiooni:

function test(num) { function func(localNum) { localNum = 2; // muudame muutujat num } func(num); // edastame parameetri } test(1); // edastame parameetrina arvu

Määrake, koodi käivitamata, mis väljastatakse konsooli:

function test(num) { function func(localNum) { console.log(localNum); } func(num); } test(1);

Määrake, koodi käivitamata, mis väljastatakse konsooli:

function test(num) { function func(localNum) { console.log(localNum); } func(num + 1); } test(1);

Määrake, koodi käivitamata, mis väljastatakse konsooli:

function test(num) { function func(localNum) { console.log(num); } func(num + 1); } test(1);

Määrake, koodi käivitamata, mis väljastatakse konsooli:

function test(num) { function func(localNum) { localNum = 2; } func(num); console.log(num); } test(1);

Määrake, koodi käivitamata, mis väljastatakse konsooli:

function test(num) { function func(localNum) { localNum = 2; } func(num); console.log(localNum); } test(1);

Määrake, koodi käivitamata, mis väljastatakse konsooli:

function test(num) { function func(localNum) { num = 2; } func(num); console.log(num); } test(1);
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu