module 04 · javascript 基础 · 第 25–32 课
目标一句话:掌握编程基础,能独立写函数处理数据 —— 这是学生第一次真正「写程序」。
// module 04
// 模块四 · 第 25 课
defer · 注释写法console.log 调试法 · 如何读报错信息新建 main.js,用 console 输出 10 行信息(其中至少 4 行是变量计算的结果),并在 DevTools 中查看、清空。
验收:脚本被正确引入;Console 无报错;能说出报错信息里的行号指的是哪一行。
// 模块四 · 第 26 课
let / const / var 的区别(块级作用域、重复声明)typeof 与显式、隐式类型转换`${}` · 命名规范(小驼峰)写 10 行代码声明各类变量并打印类型;故意做一次字符串加数字的运算,写下并解释结果。
验收:能解释 '1' + 1 = '11';知道什么时候该用 const;变量名可读。
默认用 const,需要重新赋值时再用 let,不要用 var。
// 模块四 · 第 27 课
== 与 === 的区别(强推 ===)&& || 的取值技巧)· 三元运算符if / else if / else · switch 与穿透 · 真假值完成两个小程序:① 成绩等级判断(90+ 优 / 80+ 良 / 60+ 及格 / 否则不及格)② 登录权限判断(用三元运算符和 if 各写一次)。
验收:使用 === 而不是 ==;能说出哪些值会被判为假。
// 模块四 · 第 28 课
for 三段式与执行顺序 · while / do-while · for...ofbreak / continuepush / pop / shift / unshift / slice / splice / indexOf / includes / join① 用嵌套循环打印九九乘法表;② 实现数组的增、删、改、查四个操作,每做一步都打印当前数组。
验收:能说出 slice 与 splice 的区别(是否改原数组);不会写出越界循环。
// 模块四 · 第 29 课
...rest把第 28 课的数组操作封装成 4 个函数;再写一个带回调的 forEachLike(arr, fn) 函数并验证效果。
验收:每个函数职责单一、命名清晰;理解"封装是为了不用复制粘贴"。
这节课的核心价值:让学生学会「把重复的代码打包成一个名字」。
// 模块四 · 第 30 课
this 指向初识for...in / Object.keys / entries · 对象数组JSON.stringify / JSON.parse · 浅拷贝与深拷贝用对象描述 3 个学生(姓名、成绩数组),输出平均分、最高分,并按总分从高到低排序打印。
验收:能说清点访问和方括号访问各自的适用场景;知道 JSON 的键必须用双引号。
// 模块四 · 第 31 课
trim / slice / split / replace / includes / padStartround / floor / ceil / random 与随机整数区间公式toLocaleString 格式化toFixed / parseInt)· 数组高阶方法初识(map / filter / reduce / sort)· try/catch写三个小工具:① 把日期格式化成 YYYY-MM-DD;② 随机点名(从数组里随机取一个);③ 按条件过滤数组(如分数大于 80 的)。
验收:随机点名能取到区间两端;能用比较函数把 [10, 2, 1] 正确排序。
// 模块四 · 第 32 课 · 阶段实战
getAverage)注意:这节课故意不做界面。下一模块我们会把这份「数据层」搬到页面上。
// module 04 · summary
main.js —— 控制台程序,不依赖界面{ name, score })getAverage)这个模块只解决「数据怎么处理」,界面留给下一模块。等学生看到 DOM 只是「把算好的结果显示出来」,畏难情绪会小很多。