Obseg vidnosti gnezdene funkcije v JavaScript

Če funkcija vsebuje znotraj sebe drugo funkcijo - so spremenljivke zunanje funkcije vidne v notranji:

javascriptfunction test() {
  let num = 1; // spremenljivka zunanje funkcije
  
  function func() {
    console.log(num); // izpiše 1
  }
  
  func(); // kličemo notranjo funkcijo
}

test(); // kličemo zunanjo funkcijo

Prav tako bodo v notranji funkciji vidne spremenljivke, ki so definirane zunaj zunanje funkcije:

javascriptlet num = 1; // globalna spremenljivka

function test() {
  function func() {
    console.log(num); // izpiše 1
  }
  
  func(); // kličemo notranjo funkcijo
};

test(); // kličemo zunanjo funkcijo
Задание 1

Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:

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

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

Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:

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

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

Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:

javascriptfunction test() {
  let num = 1;
  
  function func() {
    console.log(num);
  }
  
  func();
}
Задание 4

Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:

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

test();