Akses kepada Pembolehubah Luaran Fungsi dalam JavaScript
Mari kita lihat kod berikut:
let num = 1; // tetapkan nilai pembolehubah
function func() {
console.log(num); // outputkan nilainya ke konsol
}
func(); // panggil fungsi
Seperti yang saya sebutkan sebelum ini, nilai pembolehubah tidak semestinya perlu berada sebelum takrifan fungsi, yang penting, ia perlu berada sebelum panggilannya:
function func() {
console.log(num);
}
let num = 1;
func();
Sebenarnya, ini tidak tepat begitu. Fungsi kita
walaupun sebelum dipanggil sudah mengetahui nilai pembolehubah
num:
let num = 1;
function func() {
console.log(num); // fungsi sudah tahu bahawa num = 1
}
Berikut adalah contoh yang lebih kompleks:
let num = 1; // pada saat ini fungsi mengetahui bahawa num = 1
function func() {
console.log(num);
}
num = 2; // pada saat ini fungsi mengetahui bahawa num = 2
Mari tambah panggilan fungsi:
let num = 1; // pada saat ini fungsi mengetahui bahawa num = 1
func(); // akan output 1
function func() {
console.log(num);
}
func(); // akan output 1
num = 2; // pada saat ini fungsi mengetahui bahawa num = 2
func(); // akan output 2
Sekali lagi: sebenarnya fungsi mengetahui nilai pembolehubah luaran, walaupun tidak dipanggil.