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į:

javascriptfunction 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:

javascriptfunction func(num) {
  num = 2; // keičiame lokųjį kintamąjį
}

let num = 1;
func(num);
console.log(num); // išves 1 - niekas nepasikeitė
Задание 1

Nustatykite, nepaleisdami kodo, kas bus išvesta į konsolę:

javascriptfunction func(num) {
  num = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 2

Nustatykite, nepaleisdami kodo, kas bus išvesta į konsolę:

javascriptfunction func() {
  num = 2;
}

let num = 1;
func();
console.log(num);
Задание 3

Nustatykite, nepaleisdami kodo, kas bus išvesta į konsolę:

javascriptfunction func() {
  let num = 2;
}

let num = 1;
func();
console.log(num);