Paramer med samme navn i JavaScript

Lad nu den ydre og den indre funktion have parametre med samme navn:

javascriptfunction test(num) {
  function func(num) {
    console.log(num); // vil udskrive 1
  }
  
  func(num);
};

test(1);

I dette tilfælde vil der være en lokal variabel num i den indre funktion. Ændring af den i den indre funktion vil ikke påvirke den ydre variabel num:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // ændrer den lokale variabel num
  }
  
  func(num);
  console.log(num); // vil udskrive 1 - intet ændrede sig
}

test(1);

Resultatet bliver, at den indre funktion på ingen måde kan få adgang til den ydre variabel num for at ændre den:

javascriptfunction test(num) {
  function func(num) {
    // her kan man ikke få adgang til den ydre variabel num
  }
  
  func(num);
}
test(1);
Задание 1

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

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

test(1);
Задание 2

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

javascriptfunction test(num) {
  function func(num) {
    num = 2;
  }
  
  func(num);
  console.log(num);
}

test(1);
Задание 3

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

javascriptfunction test(num) {
  function func(num) {
    console.log(num);
  }
  
  num = 2;
  func(num);
}

test(1);
Задание 4

Bestem, uden at køre koden, hvad der vil blive udskrevet i konsollen:

javascriptfunction test(num) {
  function func(num) {
    console.log(num);
  }
  
  func(num);
  num = 2;
}

test(1);