2026年4月25日 星期六

您知道嗎?JavaScript 函式的參數其實是區域變數:JS函式參數之初步入門


在 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);
}

// 執行結果: