Lingkup Fungsi Bersarang di JavaScript

Jika suatu fungsi berisi fungsi lain di dalamnya - variabel dari fungsi luar terlihat oleh fungsi dalam:

javascriptfunction test() {
  let num = 1; // variabel fungsi luar
  
  function func() {
    console.log(num); // akan menampilkan 1
  }
  
  func(); // memanggil fungsi dalam
}

test(); // memanggil fungsi luar

Juga, dalam fungsi dalam akan terlihat variabel-variabel yang didefinisikan di luar fungsi luar:

javascriptlet num = 1; // variabel global

function test() {
  function func() {
    console.log(num); // akan menampilkan 1
  }
  
  func(); // memanggil fungsi dalam
};

test(); // memanggil fungsi luar
Задание 1

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

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

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

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

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

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

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

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

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

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

test();