数据存在哪:传单、便签和账本
概念 101 之二:为什么记账页刷新后还在、换台电脑就没了?数据的三种去处,决定了你的页面能承诺什么。
「我记的账刷新后还在,发给朋友就看不到了——是不是坏了?」不是坏了,是数据住的地方和你以为的不一样。数据只有三种住法,理解了它们,你就知道自己的页面能承诺什么、不能承诺什么。
住法一:印在页面上(写死的)
数据直接写在 HTML 里,像印在传单上:印了多少份,每份都一样。
项目库里的个人主页、作品集、活动邀请页都是这样——五个学生的名字直接印在文件里。想改?改文件重新「印」。好处是谁打开都一样、永远不丢;坏处是改一次要动文件,而且每个打开的人看到的是同一份。
这就是假数据当真数据反模式的由来:演示时印死没问题,真要用时还印死就出事。
住法二:用户自己的便签(localStorage)
简易记账页用的 localStorage,像给每个用户发了一张私人便签:记在他自己的浏览器里。
- 好处:不用服务器、不用登录,刷新和重开都在。
- 边界:便签跟着「这台设备的这个浏览器」走。换电脑、换浏览器、清除浏览器数据,便签就没了;你自己也看不到别人便签上写了什么。
所以记账页才会在页面上写明「数据只存在本机会丢失」——这不是技术不成熟,是你对用户诚实的边界声明。
住法三:公共账本(数据库)
数据要「换设备也在、多个人共享、不会因清缓存消失」,就得放进公共账本——数据库。账本放在网上的一台服务器里(也就是后端的厨房),页面通过请求去读写它。
- 报名表单真要收报名 → 报名进账本
- 积分要老师和学生在不同设备上看到同一份 → 积分进账本
代价是:你需要一间厨房(服务器和接口),需要部署(见什么是部署),还要想清楚谁有权限读写。这是从「页面」走向「应用」的那一步。
一张表记住
| 住法 | 类比 | 谁能看到 | 什么时候用 |
|---|---|---|---|
| 印在页面上 | 传单 | 所有打开的人,人人相同 | 展示型内容,改动少 |
| localStorage | 私人便签 | 本机本浏览器自己 | 个人记录、练习项目 |
| 数据库 | 公共账本 | 授权的所有人、所有设备 | 多人共享、跨设备、要长期保存 |
这对你意味着什么
下次 AI 问你「数据要存吗?」,先回答三个问题:**给谁看?存多久?换设备要不要在?**答案落在哪一行,就用哪种住法。跟 AI 说「用 localStorage 存」或「需要接数据库」,它就知道方向了。