⊗jsPmFNOIP 250 of 505 menu

Параметри спољашње и унутрашње функције у JavaScript-у

Хајде да направимо да и спољашња функција и унутрашња примају параметре:

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

Проследимо параметар спољашње функције у позив унутрашње функције:

function test(num) { function func(localNum) { console.log(localNum); // исписаће 1 } func(num); //!! прослеђујемо параметар } test(1); // прослеђујемо параметром број

Дакле, у унутрашњој функцији ће бити доступна променљива num као спољашња променљива из родитељске функције и променљива localNum, која је локална променљива унутрашње функције.

Обе ове променљиве ће имати исте вредности:

function test(num) { function func(localNum) { console.log(num); // исписаће 1 console.log(localNum); // исписаће 1 } func(num); } test(1);

Разлика између њих ће бити у следећем: ако се у унутрашњој функцији промени променљива num - промениће се и у спољашњој функцији:

function test(num) { function func(localNum) { num = 2; // мењамо променљиву num } func(num); // прослеђујемо параметар console.log(num); // исписаће 2 } test(1); // прослеђујемо параметром број

А променљива localNum ће бити локална. Њене промене неће довести до никаквих промена у спољашњој функцији. А и сама променљива localNum неће бити видљива изван унутрашње функције:

function test(num) { function func(localNum) { localNum = 2; // мењамо променљиву num } func(num); // прослеђујемо параметар } test(1); // прослеђујемо параметром број

Одредите, не покрећући код, шта ће се исписати у конзолу:

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

Одредите, не покрећући код, шта ће се исписати у конзолу:

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

Одредите, не покрећући код, шта ће се исписати у конзолу:

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

Одредите, не покрећући код, шта ће се исписати у конзолу:

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

Одредите, не покрећући код, шта ће се исписати у конзолу:

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

Одредите, не покрећући код, шта ће се исписати у конзолу:

function test(num) { function func(localNum) { num = 2; } func(num); console.log(num); } test(1);
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј