Parameter dengan Nama yang Sama dalam JavaScript

Sekarang misalkan fungsi luar dan fungsi dalam memiliki parameter dengan nama yang sama:

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

test(1);

Dalam kasus ini, di dalam fungsi dalam akan ada variabel lokal num. Perubahannya di dalam fungsi dalam tidak akan mempengaruhi variabel luar num:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // mengubah variabel lokal num
  }
  
  func(num);
  console.log(num); // akan menampilkan 1 - tidak ada yang berubah
}

test(1);

Hasilnya, fungsi dalam tidak akan bisa mengakses variabel luar num untuk mengubahnya:

javascriptfunction test(num) {
  function func(num) {
    // di sini tidak bisa mengakses variabel luar num
  }
  
  func(num);
}
test(1);
Задание 1

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

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

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

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

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

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

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

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

test(1);
Задание 4

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

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

test(1);