JavaScript 中的變數陰影範例
在 JavaScript 領域,變數陰影作為一個基本概念出現。為了掌握其本質,讓我們深入研究一個說明性範例。
範例場景:
考慮以下程式碼片段:
<code class="js">var currencySymbol = "$"; function showMoney(amount) { var currencySymbol = "€"; console.log(currencySymbol + amount); } showMoney("100");</code>
解釋:
在
解釋:在
在這個範例中,我們遇到了變數currencySymbol的兩個版本。全域變數currencySymbol使用值「$」進行初始化,而具有相同名稱的局部變數在showMoney()函數中宣告並賦予值「€」。當showMoney()函數是呼叫後,本地currencySymbol 變數就會存在並隱藏同名的全域變數。在函數的作用域內,任何對currencySymbol的引用都會引用局部變數。
因此,當行console.log(currencySymbol amount);執行後,輸出將是“€100”,而不是“$100”。這是因為在函數作用域內,本地currencySymbol 變數優先於全域變數。 結論:此行為例證了 JavaScript 中的變數遮蔽,其中局部變數可以在外部作用域中屏蔽同名的變數。透過理解這個概念,您可以更深入地理解變數作用域和 JavaScript 程式碼執行的複雜性。以上是什麼是變數陰影以及它如何影響 JavaScript 中的變數作用域?的詳細內容。更多資訊請關注PHP中文網其他相關文章!