diff --git a/03-javascript-core/13-array-high-order-methods/starter.js b/03-javascript-core/13-array-high-order-methods/starter.js index 7a5b5b5..c62dd9a 100644 --- a/03-javascript-core/13-array-high-order-methods/starter.js +++ b/03-javascript-core/13-array-high-order-methods/starter.js @@ -5,6 +5,20 @@ const students = [ { name: "小陈", finished: false }, ]; +const scores1 = scores.map(item => item = item + '分') +const scores2 = scores.filter(item => item > 60) +const scores3 = scores.reduce((acc, item) => { return item + acc }, 0) +const scores4 = scores.find(item => item >= 90) +const scores5 = scores.some(item => item >= 90) +const scores6 = students.every(item => item.finished === true) + +console.log("分数:" + scores1); +console.log("及格分:" + scores2); +console.log("总分:" + scores3); +console.log("第一个 >= 90 的分数:" + scores4); +console.log("是否存在不及格:" + scores5); +console.log("是否都及格:" + scores6); + // 任务: // 1. 用 map 生成 ["58分", ...] // 2. 用 filter 筛出及格分 @@ -12,3 +26,9 @@ const students = [ // 4. 用 find 找到第一个 >= 90 的分数 // 5. 用 some 判断是否存在不及格 // 6. 用 every 判断 students 是否都 finished 为 true +/* 用 `map` 生成带单位的新数组 +- 用 `filter` 找出及格成绩 +- 用 `reduce` 计算总分 +- 用 `find` 找出第一条大于等于 90 的成绩 +- 用 `some` 判断是否有人不及格 +- 用 `every` 判断是否全部完成考试*/ \ No newline at end of file diff --git a/03-javascript-core/14-memory-and-execution/starter.js b/03-javascript-core/14-memory-and-execution/starter.js index 61f9307..5d41df8 100644 --- a/03-javascript-core/14-memory-and-execution/starter.js +++ b/03-javascript-core/14-memory-and-execution/starter.js @@ -19,7 +19,16 @@ function printStepTwo() { function updateUser(user) { // 任务: // 1. 修改 user.city + user.city = '北京' } +scoreB = 90 +console.log('scoreA' + scoreA + ',scoreB' + scoreB); +userB.city = '秦皇岛' +console.log(userA.city, userB.city); +printStepOne() +printStepTwo() +updateUser(userA) +console.log(userA); // 任务: // 2. 修改 scoreB,观察 scoreA 是否变化 diff --git a/03-javascript-core/15-switch-break-and-empty-values/starter.js b/03-javascript-core/15-switch-break-and-empty-values/starter.js index 700f143..2dd6d64 100644 --- a/03-javascript-core/15-switch-break-and-empty-values/starter.js +++ b/03-javascript-core/15-switch-break-and-empty-values/starter.js @@ -6,9 +6,43 @@ const finalComment = null; let statusText = ""; const finishedRecords = []; +switch (learningStatus) { + case 'review': + console.log('已学习') + break + case 'ing': + console.log('学习中'); + break + case 'prepare': + console.log('未学习'); + break + default: + console.log('状态未知'); + break +} + +console.log(optionalNote, finalComment); + +for (let i = 0; i < records.length; i++) { + if (records[i] === null || records[i] === undefined) { + console.log(`第${i + 1}项为空值,停止读取`) + break + } else { + finishedRecords.push(records[i]) + } +} + +console.log(finishedRecords) + + // 任务: // 1. 用 switch 给 learningStatus 生成说明文字 // 2. 输出 optionalNote 和 finalComment 分别是什么 // 3. 用 for 循环读取 records // 4. 如果遇到 undefined 或 null,就 break // 5. 输出 finishedRecords +/*用 `switch` 根据学习状态输出不同说明 +- 观察 `undefined` 和 `null` 的区别 +- 用循环读取学习记录 +- 如果读到 `undefined` 或 `null`,立即用 `break` 停止循环 +- 输出停止前已经读取到的内容*/ \ No newline at end of file diff --git a/03-javascript-core/16-final-review/starter.js b/03-javascript-core/16-final-review/starter.js index 28dae11..193c97d 100644 --- a/03-javascript-core/16-final-review/starter.js +++ b/03-javascript-core/16-final-review/starter.js @@ -2,6 +2,7 @@ const reviewer = { name: "林晨", stage: "final-review", showTitle() { + console.log(`学习营总复盘器`); // 输出总复盘标题 }, }; @@ -14,12 +15,47 @@ const lessons = [ { title: "综合回顾", score: 95, finished: true }, ]; -let mentorNote; -const reviewComment = null; +let mentorNote;//undefined +const reviewComment = null;//null function getStageText(stage) { // 用 switch 返回阶段说明 + switch (stage) { + case 'final-review': + console.log('已学习'); + break + case 'ing-review': + console.log('学习中'); + break + case 'start-review': + console.log('未学习'); + break + default: + console.log('状态未知'); + break + } } +reviewer.showTitle() + +console.log(mentorNote, reviewComment); + +const lessons1 = [] +for (let i = 0; i < lessons.length; i++) { + if (lessons[i].score != null) { + lessons1.push(lessons[i]) + } +} + +const sum = lessons.reduce((acc, item) => { + return acc + item.score +}, 0) +console.log("总分:" + sum); +console.log(`平均分:${sum / lessons.length}`); + + +const reviewerAlias = reviewer +reviewerAlias.stage = 'ing-review' +console.log(reviewer.stage, reviewerAlias.stage); // 任务: // 1. 调用 reviewer.showTitle() @@ -28,3 +64,11 @@ function getStageText(stage) { // 4. 用高阶函数统计课程标题、完成状态和平均分 // 5. 创建 reviewerAlias 指向 reviewer,修改 stage,观察原对象是否变化 // 6. 输出最终结果 +/* 一个带方法的 `reviewer` 对象 +- 一个 `lessons` 数组 +- 一个用 `switch` 输出阶段说明的函数 +- 一个用 `for + break` 清洗有效数据的过程 +- 至少两个数组高阶函数 +- 对 `undefined` 和 `null` 的判断 +- 一段对象引用变化的观察代码 +- 最终输出标题、有效课程、平均分、完成状态*/ diff --git a/04-dom-events-async/01-query-selectors/starter.html b/04-dom-events-async/01-query-selectors/starter.html index b1eda62..feaaba0 100644 --- a/04-dom-events-async/01-query-selectors/starter.html +++ b/04-dom-events-async/01-query-selectors/starter.html @@ -1,52 +1,59 @@ -
- - -