Parameter Fungsi Luaran dan Dalaman dalam JavaScript
Mari kita buat supaya kedua-dua fungsi luaran dan dalaman menerima parameter:
function test(num) {
function func(localNum) {
console.log(localNum);
}
}
Mari kita hantar parameter fungsi luaran kepada panggilan fungsi dalaman:
function 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:
function 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:
function 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:
function 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:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
function test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Tentukan, tanpa menjalankan kod, apa yang akan dipaparkan dalam konsol:
function test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);