You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.9 KiB
3.9 KiB
函數樂趣
指示
在這個作業中,你將練習創建不同類型的函數,以加強你對 JavaScript 函數、參數、預設值和回傳語句的理解。
建立一個名為 functions-practice.js 的 JavaScript 檔案,並實作以下函數:
第一部分:基本函數
-
建立一個名為
sayHello的函數,不接受任何參數,並只在控制台輸出 "Hello!"。 -
建立一個名為
introduceYourself的函數,接受一個name參數,並在控制台輸出類似 "Hi, my name is [name]" 的訊息。
第二部分:帶有預設參數的函數
- 建立一個名為
greetPerson的函數,接受兩個參數:name(必需)和greeting(可選,預設為 "Hello")。函數應該在控制台輸出類似 "[greeting], [name]!" 的訊息。
第三部分:回傳值的函數
-
建立一個名為
addNumbers的函數,接受兩個參數(num1和num2)並回傳它們的和。 -
建立一個名為
createFullName的函數,接受firstName和lastName參數,並回傳組合後的全名字串。
第四部分:綜合應用
- 建立一個名為
calculateTip的函數,接受兩個參數:billAmount(必需)和tipPercentage(可選,預設為 15)。函數應該計算並回傳小費金額。
第五部分:測試你的函數
新增函數呼叫來測試每個函數,並使用 console.log() 顯示結果。
範例測試呼叫:
// 在此測試你的函數
sayHello();
introduceYourself("Sarah");
greetPerson("Alex");
greetPerson("Maria", "Hi");
const sum = addNumbers(5, 3);
console.log(`The sum is: ${sum}`);
const fullName = createFullName("John", "Doe");
console.log(`Full name: ${fullName}`);
const tip = calculateTip(50);
console.log(`Tip for $50 bill: $${tip}`);
評分標準
| 評分項目 | 優秀 | 及格 | 需改進 |
|---|---|---|---|
| 函數建立 | 6 個函數皆正確實作,符合語法與命名慣例 | 4-5 個函數正確實作,語法有輕微問題 | 3 個或更少函數有正確實作,或語法錯誤嚴重 |
| 參數與預設值 | 正確使用必需參數、可選參數及預設值 | 正確使用參數,但預設值有問題 | 參數實作錯誤或缺漏 |
| 回傳值 | 需回傳的函數皆正確回傳,不需回傳的函數僅執行動作 | 大部分回傳正確,有少許問題 | 回傳語句問題嚴重 |
| 程式碼品質 | 程式碼乾淨、有良好組織、有意義的變數名稱和適當縮排 | 程式碼可運作,但組織或清晰度可改善 | 程式碼難讀或結構不佳 |
| 測試 | 所有函數皆有適當測試並清楚顯示結果 | 大部分函數有測試 | 測試函數有限或錯誤 |
額外挑戰(選做)
如果你想更進一步挑戰自己:
- 建立其中一個函數的箭頭函數版本
- 建立一個接受另一個函數作為參數的函數(如課程中
setTimeout範例) - 加入輸入驗證,確保函數能優雅處理無效輸入
💡 小提示:記得開啟你瀏覽器的開發者控制台(F12)以查看
console.log()的輸出!
免責聲明:
本文件乃使用 AI 翻譯服務 Co-op Translator 所翻譯。儘管我們力求準確,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件之原文版本應被視為權威來源。對於重要資訊,建議採用專業人工翻譯。本公司不對因使用本翻譯所引致的任何誤解或曲解承擔責任。