AI夹克

数据存储入门:localStorage 与 JSON

数据存在哪里

localStorage:浏览器里的”小本子”

localStorage 是浏览器提供的本地存储,数据存在用户电脑上。

// 存数据
localStorage.setItem('username', '小明');

// 取数据
const name = localStorage.getItem('username'); // "小明"

// 删数据
localStorage.removeItem('username');

特点:

  • ✅ 数据持久保存(关掉浏览器也不丢)
  • ✅ 不需要后端和数据库
  • ❌ 只能存字符串
  • ❌ 容量有限(约 5MB)

JSON:数据的通用语言

JSON 是一种数据格式,用来结构化地表示数据

JSON 格式

{
  "name": "小明",
  "age": 25,
  "hobbies": ["编程", "游戏"],
  "address": {
    "city": "北京",
    "district": "海淀"
  }
}

JS 对象 ↔ JSON 字符串

// JS 对象 → JSON 字符串
const user = { name: '小明', age: 25 };
const jsonStr = JSON.stringify(user);
// → '{"name":"小明","age":25}'

// JSON 字符串 → JS 对象
const obj = JSON.parse(jsonStr);
// → { name: '小明', age: 25 }

实战:用 localStorage 存列表数据

// 保存任务列表
const todos = [
  { id: 1, text: '学 AI 编程', done: false },
  { id: 2, text: '做个人主页', done: false },
];
localStorage.setItem('todos', JSON.stringify(todos));

// 读取任务列表
const saved = localStorage.getItem('todos');
const todos = saved ? JSON.parse(saved) : [];

什么时候用 localStorage

场景适不适合
用户偏好(暗色模式)✅ 适合
草稿保存✅ 适合
购物车✅ 适合
用户账号信息❌ 不应该存(安全风险)
大量数据❌ 容量不够
多设备同步❌ 只在当前浏览器

进阶:数据库

当数据多了、需要多用户共享时,就需要真正的数据库。常见选择:

数据库类型适合场景
SQLite文件型小型项目、本地应用
PostgreSQL关系型中大型项目
MongoDB文档型快速原型、灵活结构
Supabase云服务全栈项目、实时数据

对于 AI 编程初学者,推荐从 SQLiteSupabase 开始。

小结

  • localStorage = 浏览器里的小本子,存简单数据
  • JSON = 数据的通用格式
  • 真正的数据库 = 当数据多、要共享时使用

下一篇我们开始后端入门,理解服务器是怎么工作的。