Vardų sutapimas su parametrais JavaScript
Funkcijos parametrai yra lokalieji kintamieji joje viduje. Pavadinkime funkcijos parametrą tuoju pačiu vardu kaip ir išorinį globalųjį kintamąjį:
function func(num) {
console.log(num);
}
let num = 1;
func(num);
Šiuo atveju mums susidarys taip, kad
už funkcijos ribų bus kintamasis num
ir funkcijos viduje bus kintamasis num.
Bet tai bus skirtingi kintamieji: pakeitimas
kintamojo funkcijos viduje bus
keičia lokųjį kintamąjį
funkcijos. O išorinis kintamasis viduje
funkcijos bus neprieinamas ir negalės būti
pakeistas jokiu būdu. Patikrinkime:
function func(num) {
num = 2; // keičiame lokųjį kintamąjį
}
let num = 1;
func(num);
console.log(num); // išves 1 - niekas nepasikeitė
Nustatykite, nepaleisdami kodo, kas bus išvesta į konsolę:
function func(num) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Nustatykite, nepaleisdami kodo, kas bus išvesta į konsolę:
function func() {
num = 2;
}
let num = 1;
func();
console.log(num);
Nustatykite, nepaleisdami kodo, kas bus išvesta į konsolę:
function func() {
let num = 2;
}
let num = 1;
func();
console.log(num);