Coincidența numelor cu parametrii în JavaScript

Parametrii funcției sunt variabile locale în interiorul acesteia. Să numim un parametru al funcției cu același nume ca și o variabilă globală externă:

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

let num = 1;
func(num);

În acest caz, se va întâmpla ca în afara funcției să existe variabila num și în interiorul funcției să existe variabila num. Dar acestea vor fi variabile diferite: modificarea variabilei în interiorul funcției va duce la modificarea variabilei locale a funcției. Iar variabila externă în interiorul funcției va fi inaccesibilă și nu va putea fi modificată în niciun mod. Să verificăm:

javascriptfunction func(num) {
  num = 2; // modificăm variabila locală
}

let num = 1;
func(num);
console.log(num); // va afișa 1 - nimic nu s-a schimbat
Задание 1

Stabiliți, fără a rula codul, ce va fi afișat în consolă:

javascriptfunction func(num) {
  num = 2;
}

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

Stabiliți, fără a rula codul, ce va fi afișat în consolă:

javascriptfunction func() {
  num = 2;
}

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

Stabiliți, fără a rula codul, ce va fi afișat în consolă:

javascriptfunction func() {
  let num = 2;
}

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