在 JavaScript 中,函式的參數本質上就是該函式的區域變數(Local Variable)。這代表當參數與外部變數同名時,會產生**遮蔽(Shadowing)**現象,優先使用內部的參數值。
範例說明:本範例僅使用單一參數示例(使用多個 js 參數,不在本次範例探討)。
<script type="text/javascript">
// 1. 定義全域變數:
let globalVar = "我是全域";
let shadowVar = "我是原始值";
// 2. 定義一個帶有同名參數的函式:
function testFunction(shadowVar) {
// 此時的 shadowVar 是區域變數,會遮蔽外層的 shadowVar
console.log(shadowVar);
// 函式內沒有 globalVar,會往外層查找(Scope Chain)
console.log(globalVar);
}
// 執行結果: