Skop Fungsi Bersarang dalam JavaScript

Jika fungsi mengandungi fungsi lain di dalamnya - pembolehubah fungsi luaran kelihatan dalam fungsi dalaman:

javascriptfunction test() {
  let num = 1; // pembolehubah fungsi luaran
  
  function func() {
    console.log(num); // akan output 1
  }
  
  func(); // panggil fungsi dalaman
}

test(); // panggil fungsi luaran

Juga, dalam fungsi dalaman, pembolehubah yang ditakrifkan di luar fungsi luaran akan kelihatan:

javascriptlet num = 1; // pembolehubah global

function test() {
  function func() {
    console.log(num); // akan output 1
  }
  
  func(); // panggil fungsi dalaman
};

test(); // panggil fungsi luaran
Задание 1

Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:

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

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

Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:

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

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

Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:

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

Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:

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

test();