Ҳудуди дидани функсияҳои фаромушшуда дар JavaScript

Агар функсия дар дохили худ функсияи дигарро дарбар гирад - тағйирёбандаҳои функсияи берунӣ дар функсияи дохилӣ дида мешаванд:

javascriptfunction test() {
  let num = 1; // тағйирёбандаи функсияи берунӣ
  
  function func() {
    console.log(num); // 1-ро чоп мекунад
  }
  
  func(); // функсияи дохилиро фарохонед
}

test(); // функсияи беруниро фарохонед

Ҳамчунин дар функсияи дохилӣ тағйирёбандаҳое дида мешаванд, ки дар беруни функсияи берунӣ муайян карда шудаанд:

javascriptlet num = 1; // тағйирёбандаи глобалӣ

function test() {
  function func() {
    console.log(num); // 1-ро чоп мекунад
  }
  
  func(); // функсияи дохилиро фарохонед
};

test(); // функсияи беруниро фарохонед
Задание 1

Муайян кунед, бе оғози код, ки чӣ дар консоль чоп мешавад:

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

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

Муайян кунед, бе оғози код, ки чӣ дар консоль чоп мешавад:

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

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

Муайян кунед, бе оғози код, ки чӣ дар консоль чоп мешавад:

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

Муайян кунед, бе оғози код, ки чӣ дар консоль чоп мешавад:

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

test();