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
Fun with Functions
Instructions
在此作業中,您將練習建立不同類型的函式,以加強您所學的 JavaScript 函式、參數、預設值和回傳語句的概念。
建立一個名為 functions-practice.js 的 JavaScript 檔案並實作以下函式:
Part 1: Basic Functions
-
建立一個名為
sayHello的函式,不接收任何參數,並在控制台印出 "Hello!"。 -
建立一個名為
introduceYourself的函式,接收一個name參數,並在控制台印出類似 "Hi, my name is [name]" 的訊息。
Part 2: Functions with Default Parameters
- 建立一個名為
greetPerson的函式,接收兩個參數:name(必填)和greeting(選填,預設為 "Hello")。函式應該在控制台印出類似 "[greeting], [name]!" 的訊息。
Part 3: Functions that Return Values
-
建立一個名為
addNumbers的函式,接收兩個參數 (num1和num2),並回傳它們的和。 -
建立一個名為
createFullName的函式,接收firstName和lastName參數,並回傳完整名字的字串。
Part 4: Mix It All Together
- 建立一個名為
calculateTip的函式,接收兩個參數:billAmount(必填)和tipPercentage(選填,預設為 15)。函式應計算並回傳小費金額。
Part 5: Test Your Functions
加入函式呼叫測試每個函式,並使用 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}`);
Rubric
| Criteria | Exemplary | Adequate | Needs Improvement |
|---|---|---|---|
| Function Creation | 所有 6 個函式依正確語法與命名慣例正確實作 | 正確實作 4-5 個函式,有輕微語法錯誤 | 實作 3 個或更少函式,或有重大語法錯誤 |
| Parameters & Default Values | 依指定正確使用必填參數、選填參數及預設值 | 正確使用參數,但預設值使用可能有問題 | 參數實作錯誤或遺漏 |
| Return Values | 應回傳值的函式正確回傳,不需回傳值的函式僅執行動作 | 大多數回傳正確,僅有輕微問題 | 回傳語句有重大問題 |
| Code Quality | 代碼乾淨、結構良好,變數命名有意義且縮排適當 | 代碼可運作,但可更整潔或更有條理 | 代碼難讀或結構差 |
| Testing | 所有函式均有適當測試呼叫且結果清楚顯示 | 大部分函式有適當測試 | 測試函式有限或錯誤 |
Bonus Challenges (Optional)
如果您想挑戰自我進階:
- 建立一個箭頭函式版本的其中一個函式
- 建立一個可接受另一函式作為參數的函式(如課程中的
setTimeout範例) - 加入輸入驗證,確保函式能優雅地處理無效輸入
💡 提示:記得開啟瀏覽器的開發者控制台(F12)以查看
console.log()語句的輸出!
免責聲明: 本文件由人工智慧翻譯服務 Co-op Translator 進行翻譯。雖然我們致力於確保翻譯的準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原文文件的母語版本應視為權威來源。對於重要資訊,建議聘請專業人工翻譯。我們不對因使用本翻譯而產生的任何誤解或誤釋負責。