feat: Add JavaScript core exercises and solutions
- Implemented exercises for array high-order methods, memory and execution, switch statements, and final review. - Added starter and answer files for each exercise to facilitate learning. - Created a runner HTML file to execute JavaScript code and display console outputs. - Updated README files to include exercise objectives, tasks, and usage instructions.
This commit is contained in:
33
03-javascript-core/10-final-mini-app/README.md
Normal file
33
03-javascript-core/10-final-mini-app/README.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 练习 10:基础阶段综合小程序
|
||||
|
||||
## 目标
|
||||
|
||||
把前面基础阶段学过的变量、条件、函数、数组、对象组合起来,完成一个完整的小练习。
|
||||
|
||||
## 项目名称
|
||||
|
||||
基础学习进度统计器
|
||||
|
||||
## 任务
|
||||
|
||||
请完成一个控制台版学习进度统计器,要求至少包含:
|
||||
|
||||
- 一个 `student` 对象
|
||||
- 一个 `scores` 数组
|
||||
- 一个计算平均分的函数
|
||||
- 一个判断等级的函数
|
||||
- 输出姓名、平均分、等级
|
||||
- 如果平均分大于等于 80,再输出“可以进入下一阶段”
|
||||
|
||||
## 自检标准
|
||||
|
||||
- 是否把数据和逻辑拆开了
|
||||
- 是否写了可复用函数
|
||||
- 是否正确读取数组和对象数据
|
||||
- 条件分支是否完整
|
||||
- 输出结果是否清晰
|
||||
|
||||
## 文件
|
||||
|
||||
- [starter.js](/Users/lijiaqing/home/wwwroot/front-end-example/03-javascript-core/10-final-mini-app/starter.js)
|
||||
- [answer.js](/Users/lijiaqing/home/wwwroot/front-end-example/03-javascript-core/10-final-mini-app/answer.js)
|
||||
40
03-javascript-core/10-final-mini-app/answer.js
Normal file
40
03-javascript-core/10-final-mini-app/answer.js
Normal file
@@ -0,0 +1,40 @@
|
||||
const student = {
|
||||
name: "林晨",
|
||||
stage: "JavaScript 核心",
|
||||
};
|
||||
|
||||
const scores = [78, 85, 92];
|
||||
|
||||
function getAverageScore(list) {
|
||||
let total = 0;
|
||||
|
||||
for (let index = 0; index < list.length; index += 1) {
|
||||
total += list[index];
|
||||
}
|
||||
|
||||
return total / list.length;
|
||||
}
|
||||
|
||||
function getLevel(average) {
|
||||
if (average >= 85) {
|
||||
return "优秀";
|
||||
}
|
||||
|
||||
if (average >= 70) {
|
||||
return "良好";
|
||||
}
|
||||
|
||||
return "继续努力";
|
||||
}
|
||||
|
||||
const average = getAverageScore(scores);
|
||||
const level = getLevel(average);
|
||||
|
||||
console.log("姓名:", student.name);
|
||||
console.log("阶段:", student.stage);
|
||||
console.log("平均分:", average);
|
||||
console.log("等级:", level);
|
||||
|
||||
if (average >= 80) {
|
||||
console.log("可以进入下一阶段");
|
||||
}
|
||||
20
03-javascript-core/10-final-mini-app/starter.js
Normal file
20
03-javascript-core/10-final-mini-app/starter.js
Normal file
@@ -0,0 +1,20 @@
|
||||
const student = {
|
||||
name: "林晨",
|
||||
stage: "JavaScript 核心",
|
||||
};
|
||||
|
||||
const scores = [78, 85, 92];
|
||||
|
||||
function getAverageScore(list) {
|
||||
// 计算平均分
|
||||
}
|
||||
|
||||
function getLevel(average) {
|
||||
// 返回等级
|
||||
}
|
||||
|
||||
// 任务:
|
||||
// 1. 计算平均分
|
||||
// 2. 计算等级
|
||||
// 3. 输出姓名、阶段、平均分、等级
|
||||
// 4. 如果平均分 >= 80,输出“可以进入下一阶段”
|
||||
Reference in New Issue
Block a user