Parameter Fungsi Luaran dan Dalaman dalam JavaScript
Mari kita buat supaya kedua-dua fungsi luaran dan dalaman menerima parameter:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
}
Mari kita hantar parameter fungsi luaran kepada panggilan fungsi dalaman:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum); // akan memaparkan 1
}
func(num); //!! menghantar parameter
}
test(1); // menghantar nombor sebagai parameter
Jadi, dalam fungsi dalaman,
pembolehubah num akan boleh diakses
sebagai pembolehubah luaran
dari fungsi induk dan pembolehubah
localNum, yang merupakan pembolehubah tempatan
fungsi dalaman.
Kedua-dua pembolehubah ini akan mempunyai nilai yang sama:
javascriptfunction test(num) {
function func(localNum) {
console.log(num); // akan memaparkan 1
console.log(localNum); // akan memaparkan 1
}
func(num);
}
test(1);
Perbezaan antara mereka adalah seperti berikut: jika
dalam fungsi dalaman kita mengubah pembolehubah
num - ia juga akan berubah dalam fungsi luaran:
javascriptfunction test(num) {
function func(localNum) {
num = 2; // mengubah pembolehubah num
}
func(num); // menghantar parameter
console.log(num); // akan memaparkan 2
}
test(1); // menghantar nombor sebagai parameter
Manakala pembolehubah localNum akan menjadi tempatan.
Perubahannya tidak akan menyebabkan sebarang
perubahan dalam fungsi luaran. Dan pembolehubah
localNum itu sendiri tidak akan kelihatan
dari luar fungsi dalaman:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2; // mengubah pembolehubah num
}
func(num); // menghantar parameter
}
test(1); // menghantar nombor sebagai parameter
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
javascriptfunction test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
javascriptfunction test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);