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.
Web-Dev-For-Beginners/translations/zh-CN/2-js-basics/2-functions-methods/assignment.md

73 lines
3.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 有趣的函数
## 说明
在本次作业中,你将练习创建不同类型的函数,以巩固你所学的 JavaScript 函数、参数、默认值和返回语句的概念。
创建一个名为 `functions-practice.js` 的 JavaScript 文件,并实现以下函数:
### 第一部分:基础函数
1. **创建一个名为 `sayHello` 的函数**,该函数不接受任何参数,仅在控制台输出 "Hello!"。
2. **创建一个名为 `introduceYourself` 的函数**,该函数接受一个 `name` 参数,并在控制台输出类似 "Hi, my name is [name]" 的消息。
### 第二部分:带默认参数的函数
3. **创建一个名为 `greetPerson` 的函数**,它接受两个参数:`name`(必需)和 `greeting`(可选,默认为 "Hello")。该函数应在控制台输出类似 "[greeting], [name]!" 的消息。
### 第三部分:返回值的函数
4. **创建一个名为 `addNumbers` 的函数**,它接受两个参数(`num1` 和 `num2`)并返回它们的和。
5. **创建一个名为 `createFullName` 的函数**,它接受 `firstName``lastName` 参数并返回一个完整的全名字符串。
### 第四部分:综合练习
6. **创建一个名为 `calculateTip` 的函数**,它接受两个参数:`billAmount`(必需)和 `tipPercentage`(可选,默认为 15。该函数应计算并返回小费金额。
### 第五部分:测试你的函数
添加函数调用,测试每个函数并使用 `console.log()` 显示结果。
**示例测试调用:**
```javascript
// 在这里测试你的函数
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 个或更少函数,或存在严重语法错误 |
| **参数和默认值** | 正确使用必需参数、可选参数和默认值 | 参数使用正确但默认值存在问题 | 参数实现不正确或缺失 |
| **返回值** | 应返回值的函数正确返回,不应返回值的函数仅执行操作 | 大多数返回值正确,有轻微问题 | 返回语句有重大问题 |
| **代码质量** | 代码干净、结构良好,变量名有意义,缩进正确 | 代码能工作但可更清晰或更好组织 | 代码难以阅读或结构差 |
| **测试** | 所有函数均使用合适的调用进行测试,结果清晰展示 | 大多数函数测试充分 | 测试有限或测试错误 |
## 额外挑战(可选)
如果你想进一步挑战自己:
1. **创建一个箭头函数版本** 的某个函数
2. **创建一个接受另一个函数作为参数的函数**(如课程中的 `setTimeout` 示例)
3. **添加输入验证**,确保你的函数能够优雅地处理无效输入
---
> 💡 **提示**记得打开浏览器的开发者控制台F12查看 `console.log()` 语句的输出!
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免责声明**
本文件使用 AI 翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们力求准确,但请注意自动翻译可能存在错误或不准确之处。原始语言版本的文件应被视为权威来源。对于重要信息,建议使用专业人工翻译。因使用此翻译而引起的任何误解或误释,我们概不负责。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->