Pertindihan Nama dengan Parameter dalam JavaScript

Parameter fungsi adalah pembolehubah tempatan di dalamnya. Mari kita namakan parameter fungsi dengan nama yang sama seperti pembolehubah global luaran:

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

let num = 1;
func(num);

Dalam kes ini, kita akan mempunyai situasi di mana di luar fungsi terdapat pembolehubah num dan di dalam fungsi juga terdapat pembolehubah num. Namun, ini adalah pembolehubah yang berbeza: perubahan pembolehubah di dalam fungsi akan menyebabkan perubahan pada pembolehubah tempatan fungsi. Manakala pembolehubah luaran di dalam fungsi tidak akan boleh diakses dan tidak boleh diubah dengan cara apa pun. Mari kita uji:

javascriptfunction func(num) {
  num = 2; // mengubah pembolehubah tempatan
}

let num = 1;
func(num);
console.log(num); // akan output 1 - tiada perubahan
Задание 1

Tentukan, tanpa menjalankan kod, apa yang akan output ke konsol:

javascriptfunction func(num) {
  num = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 2

Tentukan, tanpa menjalankan kod, apa yang akan output ke konsol:

javascriptfunction func() {
  num = 2;
}

let num = 1;
func();
console.log(num);
Задание 3

Tentukan, tanpa menjalankan kod, apa yang akan output ke konsol:

javascriptfunction func() {
  let num = 2;
}

let num = 1;
func();
console.log(num);