Parametrar med samma namn i JavaScript

Låt oss nu anta att den yttre och inre funktionen har parametrar med samma namn:

javascriptfunction test(num) {
  function func(num) {
    console.log(num); // skriver ut 1
  }
  
  func(num);
};

test(1);

I detta fall kommer den inre funktionen att ha en lokal variabel num. Att ändra den i den inre funktionen kommer inte att påverka den yttre variabeln num:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // ändrar den lokala variabeln num
  }
  
  func(num);
  console.log(num); // skriver ut 1 - inget har ändrats
}

test(1);

Resultatet blir att den inre funktionen inte på något sätt kan komma åt den yttre variabeln num för att ändra den:

javascriptfunction test(num) {
  function func(num) {
    // här går det inte att få tillgång till den yttre variabeln num
  }
  
  func(num);
}
test(1);
Задание 1

Bestäm, utan att köra koden, vad som kommer att skrivas ut i konsolen:

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

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

Bestäm, utan att köra koden, vad som kommer att skrivas ut i konsolen:

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

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

Bestäm, utan att köra koden, vad som kommer att skrivas ut i konsolen:

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

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

Bestäm, utan att köra koden, vad som kommer att skrivas ut i konsolen:

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

test(1);