跳到主要內容
Cypher's Practical Coding
正在準備工作環境...

函數

函數就是「把一段程式包裝起來,取個名字,需要的時候再呼叫」。

想像你常常需要算含稅價格:原價 x 1.05。 與其每次都寫一遍計算公式,不如做一個「計算含稅價」的函數,以後一呼叫就搞定。

宣告函數

語法結構:

function 函數名稱() {
  // 要執行的程式
}

函數名稱()  // 呼叫函數

重點:宣告函數不會自動執行,要「呼叫」它才會跑。

參數(Parameters)

函數可以接收「輸入」,讓它更靈活:

可以有多個參數:

回傳值(return)

函數可以「算出結果」交回來,用 return 關鍵字:

return 之後的值可以存進變數,或直接使用:

函數就是「可重複使用的工具」

沒有函數時——每次都要重寫:

let tax1 = 500 * 1.05
let tax2 = 800 * 1.05
let tax3 = 1200 * 1.05

有函數時——呼叫就好:

calcTax(500)
calcTax(800)
calcTax(1200)

實際應用:運費計算器

實際應用:訂單總價計算

AI 協作:學了這個,跟 AI 怎麼配合?

函數讓你把 AI 的程式「模組化」——一段邏輯包一個函數,好讀也好改。

你的人類優勢:

  • 你能定義函數的「輸入是什麼、輸出要什麼」
  • 你能要求 AI 把冗長的程式碼拆成小函數,每個函數只做一件事

可以這樣跟 AI 說:

幫我寫一個函數 formatPrice(price),輸入數字,輸出帶千分位的字串,例如 1200 → "1,200"。

練習題

互動示範

DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
DEMO 3可以修改程式碼試玩
DEMO 4可以修改程式碼試玩
DEMO 5可以修改程式碼試玩
DEMO 6可以修改程式碼試玩
DEMO 7可以修改程式碼試玩

挑戰任務

Task 1

請寫一個函數 double(n),回傳 n 的兩倍。然後呼叫 double(150) 並用 console.log 印出結果。

Task 2

請寫一個函數 freeShipping(amount),如果 amount >= 1000 回傳 "免運",否則回傳 "運費 60 元"。分別用 console.log 印出 freeShipping(1200) 和 freeShipping(500) 的結果。

Task 3

請寫一個函數 totalPrice(price, qty),回傳 price * qty。然後用 console.log 印出 totalPrice(350, 4) 的結果。

BackNext Lesson →