Globalne spremenljivke in parametri funkcij v JavaScriptu
Recimo, da imamo funkcijo, ki sprejme število kot parameter:
function func(localNum) {
console.log(localNum);
}
Recimo, da zunaj funkcije obstaja spremenljivka num:
function func(localNum) {
console.log(localNum);
}
let num = 1; // zunanja globalna spremenljivka
Pokličimo našo funkcijo in ji posredujmo
spremenljivko num kot parameter:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num); // kličemo funkcijo s parametrom, izpiše 1
Posledično bo znotraj funkcije dostopna
tako spremenljivka localNum (parameter
funkcije) kot spremenljivka num (kot
zunanja spremenljivka):
function func(localNum) {
console.log(num); // izpiše 1
console.log(localNum); // izpiše 1
}
let num = 1;
func(num);
Sama spremenljivka localNum bo lokalna
spremenljivka funkcije in ne bo dostopna od zunaj:
function func(localNum) {
}
let num = 1;
func(num); // kličemo funkcijo s parametrom
console.log(localNum); // bo povzročilo napako
Ker je spremenljivka localNum lokalna,
je nobena sprememba z njo ne bo spremenila ničesar
zunaj:
function func(localNum) {
localNum = 2; // ne spremeni ničesar zunaj
}
let num = 1;
func(num);
Če pa znotraj spremenimo spremenljivko num
(globalno), se bodo spremembe pojavile tudi zunaj:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num); // izpiše 2
Vendar, če znotraj funkcije deklariramo
spremenljivko num z let,
bomo na ta način ustvarili lokalno spremenljivko
num, ki ne vpliva na zunanjo
spremenljivko:
function func(localNum) {
let num = 2; // deklariramo z let
}
let num = 1;
func(num);
console.log(num); // izpiše 1 - nič se ni spremenilo
Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:
function func(localNum) {
console.log(localNum);
}
func(1);
Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);