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:
charlie
2026-03-13 11:09:19 +08:00
parent 4495ae0e28
commit 877acb5a8f
51 changed files with 1949 additions and 5 deletions

View File

@@ -0,0 +1,70 @@
const reviewer = {
name: "林晨",
stage: "final-review",
showTitle() {
console.log(`${this.name} 的学习营总复盘`);
},
};
const lessons = [
{ title: "变量", score: 80, finished: true },
{ title: "闭包", score: 92, finished: true },
{ title: "this", score: 87, finished: true },
{ title: "补漏练习", score: null, finished: false },
{ title: "综合回顾", score: 95, finished: true },
];
let mentorNote;
const reviewComment = null;
function getStageText(stage) {
switch (stage) {
case "basic":
return "基础阶段";
case "advanced":
return "补充阶段";
case "final-review":
return "总复习阶段";
default:
return "未知阶段";
}
}
reviewer.showTitle();
console.log("阶段说明:", getStageText(reviewer.stage));
console.log("mentorNote 是否为 undefined", mentorNote === undefined);
console.log("reviewComment 是否为 null", reviewComment === null);
const validLessons = [];
for (let index = 0; index < lessons.length; index += 1) {
const lesson = lessons[index];
if (lesson.score === undefined || lesson.score === null) {
console.log(`在《${lesson.title}》处遇到空成绩,停止读取后续项目。`);
break;
}
validLessons.push(lesson);
}
const lessonTitles = validLessons.map(function (lesson) {
return lesson.title;
});
const averageScore =
validLessons.reduce(function (total, lesson) {
return total + lesson.score;
}, 0) / validLessons.length;
const allFinished = validLessons.every(function (lesson) {
return lesson.finished === true;
});
const reviewerAlias = reviewer;
reviewerAlias.stage = "advanced";
console.log("引用修改后的 reviewer.stage", reviewer.stage);
console.log("有效课程:", lessonTitles.join("、"));
console.log("平均分:", averageScore);
console.log("是否全部完成:", allFinished);