Globalne promenljive i parametri funkcija u JavaScriptu
Neka imamo funkciju koja prima broj kao parametar:
function func(localNum) {
console.log(localNum);
}
Neka izvan funkcije postoji promenljiva num:
function func(localNum) {
console.log(localNum);
}
let num = 1; // spoljašnja globalna promenljiva
Hajde da pozovemo našu funkciju, prosledivši joj
promenljivu num kao parametar:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num); // pozivamo funkciju sa parametrom, ispisuje 1
Ispostavlja se da će unutar funkcije biti dostupna
i promenljiva localNum (parametar
funkcije) i promenljiva num (kao
spoljašnja promenljiva):
function func(localNum) {
console.log(num); // ispisuje 1
console.log(localNum); // ispisuje 1
}
let num = 1;
func(num);
Sama promenljiva localNum biće lokalna
promenljiva funkcije i neće biti dostupna spolja:
function func(localNum) {
}
let num = 1;
func(num); // pozivamo funkciju sa parametrom
console.log(localNum); // daće grešku
Pošto je promenljiva localNum lokalna,
ni jedna promena sa njom neće promeniti ništa
spolja:
function func(localNum) {
localNum = 2; // ne menja ništa spolja
}
let num = 1;
func(num);
Ako pak unutar funkcije promenimo promenljivu num
(globalnu), onda će se promene pojaviti i spolja:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num); // ispisuje 2
Međutim, ako unutar funkcije deklarišemo
promenljivu num preko let, onda
ćemo na taj način kreirati lokalnu promenljivu
num, koja ne utiče na spoljašnju
promenljivu:
function func(localNum) {
let num = 2; // deklarišemo preko let
}
let num = 1;
func(num);
console.log(num); // ispisuje 1 - ništa se nije promenilo
Odredite, ne pokrećući kod, šta će biti ispisano u konzoli:
function func(localNum) {
console.log(localNum);
}
func(1);
Odredite, ne pokrećući kod, šta će biti ispisano u konzoli:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Odredite, ne pokrećući kod, šta će biti ispisano u konzoli:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Odredite, ne pokrećući kod, šta će biti ispisano u konzoli:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Odredite, ne pokrećući kod, šta će biti ispisano u konzoli:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Odredite, ne pokrećući kod, šta će biti ispisano u konzoli:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Odredite, ne pokrećući kod, šta će biti ispisano u konzoli:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);