⊗jsPmFNOIP 250 of 505 menu

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);
esplroptsv