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:
function 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:
function func(num) {
num = 2; // mengubah pembolehubah tempatan
}
let num = 1;
func(num);
console.log(num); // akan output 1 - tiada perubahan
Tentukan, tanpa menjalankan kod, apa yang akan output ke konsol:
function func(num) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Tentukan, tanpa menjalankan kod, apa yang akan output ke konsol:
function func() {
num = 2;
}
let num = 1;
func();
console.log(num);
Tentukan, tanpa menjalankan kod, apa yang akan output ke konsol:
function func() {
let num = 2;
}
let num = 1;
func();
console.log(num);