抓出评分
最高的球员
- 01撕下一张卡上的「评分」—— 不要颜色,只要数.textContent + Number() · 字变数
- 02对每一张做一次 · 得到一串纯数字相框没了 · 只剩纸上的数
- 03一行代码找到冠军 · 反查回屏幕,画金边Math.max(...ratings) → cards[i]
上节课你做到「一行管一片」—— 改样子。今天你做侦探 —— **把数据从界面里撕出来**,让浏览器替你找出当前页**评分最高的那一个**,再把他从人堆里拎出来。这是 Phase 0 最后一节。
三层回忆 · 大脑往最深走一步
骨头、皮肤、大脑 —— 前四节课的路径。今天大脑学会:把数据从界面里撕出来。
- 01
骨头
HTML第 1 课 · 是什么
- 02
皮肤
CSS第 2 课 · 长什么样
- 03今天只看这个
大脑
JavaScript第 3-5 课 · 会做什么 · 今天大脑学会**只要数据**
数据 vs 界面 · 它们是两件事
你看到一张卡 = 相框 + 纸上的字。今天第一次:只要纸,不要相框。
↳ 相框 · 样子(你第 2 / 4 课改过)
↳ <span class="rating">93</span> · 纸(今天要撕)
球员换球衣名牌不变;受伤剃胡子名牌不变。相框会变 · 纸上的字不变。一会儿你让浏览器只看纸。
撕 → 翻 → 找最大 → 反查
第 4 课的「找一串 → 对每一个 → 改样子」今天变形了 —— 改样子 → 撕数字。
Number(c.querySelector('.rating').textContent)
))
Math.max(...ratings)
读出来:"对每一张卡,撕下评分的字,翻成数,攒成一串;找最大的;再用序号指回那张卡。"
Phase 0 的压轴形状。
不用背 · 上手时会回来
第一个 ripper · 第二个 translator · 第三个 judge。
- 01.textContent撕下来的纸条 —— 把卡上**肉眼看到的字**抓出来,不要颜色、不要图片。从 DOM 撕出来的**一定是字**(带引号)。要做数学,下一步。
- 02Number("93")换钱窗口 —— 进去一张写着 93 的纸条(字),出来一枚真的 93(数)。
"93" + 6 = "936"(拼字);Number("93") + 6 = 99(真加法)。 - 03Math.max(...ratings)裁判挑最高分 —— 给它一串数字,它告诉你最大的。三个点
...= "把一串打散"。 今天抄着用,Phase 1 正式讲。
在这里先撕一次 · 看数据离开界面
9 张曼城卡。按顺序点咒语 —— Console 会一行一行累加,跟真的一样。
// 按顺序点下面的咒语 · 1 → 2 → 3 → ... · 看数据和相框怎么分家.rating 就是那个大数字 · 一会儿我们**只要它**现在去真球场 · 在 ea.com 上抓冠军
做完一步就点 ✓。关掉浏览器也不丢。
召唤 DevTools · 切到 Console
抓第一张卡 · 看一眼相框
钻进卡 · 撕评分的「字」
过翻译机 · 字变数
抓所有卡 + 攒一串纯数字
对一下 · 两串一样长吗
🏆 找冠军 · 一行
同家族 · 找最低
反查 · 给冠军画金边
刷新 · 一切归零
📸 Phase 0 毕业照
讲给爸爸听 · 也是给家人讲的 4 题
答对 3 个 · Demo Day 1 今晚就能上场。用自己的话。
01一张卡上,「好看」的部分和「数据」的部分是什么?各举一个例子?Hint ↓
相框 vs 纸上的字 —— 金色描边 / 头像 = 好看;93 / 哈兰德 / ST = 数据。Data vs UI 分离本质点。
02.textContent 撕下来的是「字」还是「数」?为什么还要过翻译机?Hint ↓
从 HTML 里撕出来一定是字。要做数学 / 找最大,必须 Number() 变成数。
03今天问「评分最高」用 Math.max。要问「速度最快」代码怎么改?Hint ↓
只改选择器 .rating → .pace,咒语形状不变。抓到「模式」的本质。
04Phase 0 五节课 · 骨头 / 皮肤 / 大脑 分别是什么?今天这课属于哪一层?Hint ↓
HTML = 是什么 · CSS = 长什么样 · JS = 会做什么。今天是大脑的最后一节 —— Phase 0 毕业。
给 Phase 0 最后一节打个分
没对错。说真话。爸爸会看到。
Phase 0 毕业 —— 你攒齐了骨头、皮肤、大脑。
还有 11 步没打勾。Step 7 的 Math.max 那一下蹦出数字就算毕业了 —— 其他慢慢补。