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

Linda Hamilton
Lepaskan: 2024-10-24 10:35:02
asal
610 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!