Rumah  >  Artikel  >  hujung hadapan web  >  Apakah itu Variable Shadowing dan Bagaimana Ia Mempengaruhi Skop Pembolehubah dalam JavaScript?

Apakah itu Variable Shadowing dan Bagaimana Ia Mempengaruhi Skop Pembolehubah dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-10-24 09:59:29288semak imbas

What is Variable Shadowing and How Does It Affect Variable Scope in JavaScript?

Contoh Pembayang Pembolehubah dalam JavaScript

Dalam bidang JavaScript, pembayang boleh ubah muncul sebagai konsep asas. Untuk memahami intipatinya, mari kita teliti contoh ilustrasi.

Contoh Senario:

Pertimbangkan coretan kod berikut:

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

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

showMoney("100");</code>

Penjelasan:

Dalam contoh ini, kami menemui dua versi currencySymbol yang berubah-ubah. Mata wang pembolehubah globalSymbol dimulakan dengan nilai "$", manakala pembolehubah tempatan dengan nama yang sama diisytiharkan dalam fungsi showMoney() dan diberi nilai "€".

Apabila fungsi showMoney() adalah digunakan, pembolehubah mata wang tempatanSymbol wujud dan membayangi pembolehubah global dengan nama yang sama. Dalam skop fungsi, sebarang rujukan kepada currencySymbol akan merujuk kepada pembolehubah tempatan.

Sebab itu, apabila line console.log(currencySymbol amount); dilaksanakan, outputnya ialah "€100", bukan "$100". Ini kerana pembolehubah mata wang tempatanSymbol diutamakan berbanding pembolehubah global dalam skop fungsi.

Kesimpulan:

Tingkah laku ini menunjukkan pembayang pembolehubah dalam JavaScript, di mana pembolehubah tempatan boleh menutup pembolehubah dengan nama yang sama dalam skop luar. Dengan memahami konsep ini, anda memperoleh pemahaman yang lebih mendalam tentang skop pembolehubah dan selok-belok pelaksanaan kod JavaScript.

Atas ialah kandungan terperinci Apakah itu Variable Shadowing dan Bagaimana Ia Mempengaruhi Skop Pembolehubah dalam JavaScript?. 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