上一課: 第 14 課:常用函式與運算定律 | 下一課: 第 16 課:環境與可見性 Scope 概念
第 15 課:可重用函式與內嵌重構
課程摘要:本課將教你如何將重複的邏輯抽離成可重用函式,並學習「內嵌函式(Nested Function)」的使用方式,以提高程式可讀性與維護性。
學習目標
- 能辨識並重構重複程式碼。
- 了解內嵌函式的概念與使用時機。
- 熟悉模組化程式設計的思維。
課程大綱
- 重構概念與目的
- 建立可重用函式
- 內嵌函式與作用範圍
- 實務應用與程式組織
核心概念解說
重構的目標是讓程式更簡潔、更容易維護。當多個地方出現相似邏輯時,我們可將它抽離為一個共用函式。
function formatPrice(price) {
return "$" + price.toFixed(2);
}
console.log(formatPrice(99.5)); // $99.50
console.log(formatPrice(120)); // $120.00
內嵌函式(Nested Function)則是函式中再定義函式,用來封裝僅限於該作用範圍的邏輯:
function calculateTotal(prices) {
function sum(arr) {
return arr.reduce((a, b) => a + b, 0);
}
return sum(prices) * 1.05; // 含稅總價
}
console.log(calculateTotal([100, 50, 25])); // 173.25
互動式範例
範例說明:嘗試新增內嵌函式或重構重複邏輯。
常見錯誤與除錯指南
- 內嵌函式僅在定義範圍內有效,外部無法呼叫。
- 若重構後功能改變,可能是回傳值未正確傳遞。
- 減少巢狀層級過多的函式,避免可讀性下降。
小測驗(附解析)
- 內嵌函式的作用範圍為何?
答案: 僅限在父函式內部可使用。 - 為什麼要將重複邏輯抽離為函式?
答案: 提升程式可重用性與可維護性。
複習與下一步
你已學會如何重構重複邏輯並建立可重用的模組化函式。 下一課將進入 「環境與可見性 Scope 概念」, 理解變數與函式的存活範圍與呼叫機制。
版本資訊:2025-10-22 新增互動範例與小測驗。
版權/授權:本頁程式碼與素材可用於教學與個人專案(請保留出處)。
