Parameter Bernama Sama dalam JavaScript

Katakan sekarang fungsi luaran dan fungsi dalaman mempunyai parameter yang bernama sama:

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

test(1);

Dalam kes ini, fungsi dalaman akan mempunyai pembolehubah tempatan num. Perubahannya dalam fungsi dalaman tidak akan mempengaruhi pembolehubah luaran num:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // mengubah pembolehubah tempatan num
  }
  
  func(num);
  console.log(num); // akan memaparkan 1 - tiada perubahan
}

test(1);

Hasilnya, fungsi dalaman tidak dapat mengakses pembolehubah luaran num untuk mengubahnya:

javascriptfunction test(num) {
  function func(num) {
    // di sini tidak boleh mengakses pembolehubah luaran num
  }
  
  func(num);
}
test(1);
Задание 1

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

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

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

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

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

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

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

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

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

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

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

test(1);