⊗jsPmFNOIP 250 of 505 menu

Parametri spoljne i unutrašnje funkcije u JavaScript-u

Hajde da napravimo tako da i spoljna funkcija i unutrašnja primaju parametre:

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

Prosledimo parametar spoljne funkcije u poziv unutrašnje funkcije:

function test(num) { function func(localNum) { console.log(localNum); // ispisaće 1 } func(num); //!! prosleđujemo parametar } test(1); // prosleđujemo parametrom broj

Ispada da će u unutrašnjoj funkciji biti dostupna promenljiva num kao spoljašnja promenljiva iz roditeljske funkcije i promenljiva localNum, koja je lokalna promenljiva unutrašnje funkcije.

Obe ove promenljive će imati iste vrednosti:

function test(num) { function func(localNum) { console.log(num); // ispisaće 1 console.log(localNum); // ispisaće 1 } func(num); } test(1);

Razlika između njih će biti u sledećem: ako u unutrašnjoj funkciji promenimo promenljivu num - ona će se promeniti i u spoljnoj funkciji:

function test(num) { function func(localNum) { num = 2; // menjamo promenljivu num } func(num); // prosleđujemo parametar console.log(num); // ispisaće 2 } test(1); // prosleđujemo parametrom broj

A promenljiva localNum će biti lokalna. Njeni izmeni neće dovesti ni do kakvih izmena u spoljnoj funkciji. Čak i sama promenljiva localNum neće biti vidljiva spolja iz unutrašnje funkcije:

function test(num) { function func(localNum) { localNum = 2; // menjamo promenljivu num } func(num); // prosleđujemo parametar } test(1); // prosleđujemo parametrom broj

Odredite, ne pokrećući kod, šta će se ispisati u konzoli:

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

Odredite, ne pokrećući kod, šta će se ispisati u konzoli:

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

Odredite, ne pokrećući kod, šta će se ispisati u konzoli:

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

Odredite, ne pokrećući kod, šta će se ispisati u konzoli:

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

Odredite, ne pokrećući kod, šta će se ispisati u konzoli:

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

Odredite, ne pokrećući kod, šta će se ispisati u konzoli:

function test(num) { function func(localNum) { num = 2; } func(num); console.log(num); } test(1);
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij