Omvang van Geneste Funksies in JavaScript

As 'n funksie 'n ander funksie binne-in bevat - is die veranderlikes van die buitenste funksie sigbaar in die binneste:

javascriptfunction test() {
  let num = 1; // veranderlike van buitenste funksie
  
  function func() {
    console.log(num); // sal 1 uitvoer
  }
  
  func(); // roep die binneste funksie
}

test(); // roep die buitenste funksie

Ook sal veranderlikes wat buite die buitenste funksie gedefinieer is, sigbaar wees in die binneste funksie:

javascriptlet num = 1; // globale veranderlike

function test() {
  function func() {
    console.log(num); // sal 1 uitvoer
  }
  
  func(); // roep die binneste funksie
};

test(); // roep die buitenste funksie
Задание 1

Bepaal, sonder om die kode te laat loop, wat in die konsole uitgevoer sal word:

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

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

Bepaal, sonder om die kode te laat loop, wat in die konsole uitgevoer sal word:

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

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

Bepaal, sonder om die kode te laat loop, wat in die konsole uitgevoer sal word:

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

Bepaal, sonder om die kode te laat loop, wat in die konsole uitgevoer sal word:

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

test();