Rumah  >  Artikel  >  hujung hadapan web  >  Bolehkah Pembolehubah Pembolehubah Berlaku dalam JavaScript dengan Pembolehubah Skop Berbeza dengan Nama Yang Sama?

Bolehkah Pembolehubah Pembolehubah Berlaku dalam JavaScript dengan Pembolehubah Skop Berbeza dengan Nama Yang Sama?

Linda Hamilton
Linda Hamiltonasal
2024-10-24 10:35:02616semak imbas

Can Variable Shadowing Occur in JavaScript with Different Scoped Variables of the Same Name?

Bolehkah anda menjelaskan pembayang pembolehubah menggunakan contoh JavaScript asas?

Pembayangan pembolehubah ialah konsep dalam JavaScript di mana pembolehubah ditakrifkan dalam skop tertentu mengatasi pembolehubah lain dengan nama yang sama yang diisytiharkan dalam skop yang lebih luas. Berikut ialah contoh asas untuk menggambarkan:

Pertimbangkan coretan kod berikut:

<code class="javascript">var currencySymbol = "$";

function showMoney(amount) {
  var currencySymbol = "€";
  console.log(currencySymbol + amount);
}

showMoney("100");</code>

Dalam contoh ini, terdapat dua pembolehubah bernama currencySymbol. Mata wang berubah globalSymbol pada mulanya ditetapkan kepada "$". Di dalam fungsi showMoney, pembolehubah baharu dengan nama yang sama diisytiharkan dan ditetapkan kepada "€".

Apabila fungsi showMoney dipanggil, mata wang pembolehubah tempatanSymbol membayangi pembolehubah global dengan nama yang sama. Ini bermakna kod dalam fungsi akan menggunakan nilai setempat "€" untuk currencySymbol, mengatasi nilai global "$".

Sebab itu, apabila line console.log(currencySymbol amount) dilaksanakan, ia akan mencetak "€100" ke konsol. Ini kerana mata wang pembolehubah tempatanSymbol digunakan dalam fungsi showMoney, mengatasi pembolehubah global.

Adakah ini contoh pembayang pembolehubah?

Ya, ini contoh yang jelas tentang pembayang berubah-ubah. Mata wang pembolehubah tempatanSimbol dalam fungsi showMoney mengatasi pembolehubah global dengan nama yang sama, menyebabkan fungsi menggunakan nilai tempatan "€" dan bukannya nilai global "$".

Atas ialah kandungan terperinci Bolehkah Pembolehubah Pembolehubah Berlaku dalam JavaScript dengan Pembolehubah Skop Berbeza dengan Nama Yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn