Nimekokkulangevus parameetritega JavaScriptis

Funktsiooni parameetrid on selle sees olevad kohalikud muutujad. Nimetame funktsiooni parameetri sama nimega nagu välise globaalse muutuja:

javascriptfunction func(num) {
  console.log(num);
}

let num = 1;
func(num);

Sel juhul saab nii, et funktsiooni väljas on muutuja num ja funktsiooni sees on muutuja num. Kuid need on erinevad muutujad: muutuja muutmine funktsiooni sees toob kaasa funktsiooni kohaliku muutuja muutumise. Väline muutuja funktsiooni sees on kättesaamatu ja seda ei saa mingil viisil muuta. Kontrollime:

javascriptfunction func(num) {
  num = 2; // muudame kohalikku muutujat
}

let num = 1;
func(num);
console.log(num); // väljastab 1 - midagi ei muutunud
Задание 1

Määrake, ilma koodi käivitamata, mis väljastatakse konsooli:

javascriptfunction func(num) {
  num = 2;
}

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

Määrake, ilma koodi käivitamata, mis väljastatakse konsooli:

javascriptfunction func() {
  num = 2;
}

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

Määrake, ilma koodi käivitamata, mis väljastatakse konsooli:

javascriptfunction func() {
  let num = 2;
}

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