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);