html5 webstorage仅支持字符串键值对,存数字需string()转换、对象需json.stringify(),取值须判null并用json.parse()加try-catch,删除用removeitem()或clear()。

HTML5 WebStorage 存取键值对数据,核心就是用 localStorage 或 sessionStorage 对象的几个基础方法,但必须注意类型、容错和边界情况——它只认字符串,不自动转换,也不保证写入成功。
存数据:必须是字符串,数字和对象要手动处理
localStorage 只接受字符串作为 value。直接传数字、布尔或对象,会被隐式转成 "42"、"true"、"[object Object]",取出来就不是原来的东西了。
- 存数字:先转字符串,再存,读时用
parseInt()或parseFloat()恢复localStorage.setItem('count', String(123));const count = parseInt(localStorage.getItem('count')) || 0; - 存对象或数组:必须用
JSON.stringify()编码localStorage.setItem('user', JSON.stringify({name: 'Tom', age: 28})); - 别用点语法随意赋值(如
localStorage.myKey = 'val'),虽能工作但不可靠,推荐统一用setItem()
取数据:null 判断才靠谱,别信真值
getItem() 返回的是字符串或 null。不能用 if (localStorage.getItem('x')) 判断是否存在——因为 "0"、"false"、" " 都是真值,但它们可能是你合法存进去的数据。
- 安全判断是否存在:
localStorage.getItem('key') !== null - 安全读对象:加
try...catch,防止用户手动删改或解析失败let user;<br>try {<br> user = JSON.parse(localStorage.getItem('user') || '{}');<br>} catch (e) {<br> user = {};<br>}
删和清:按需选择粒度
删除操作很直接,但要注意作用范围:
- 删单个:
localStorage.removeItem('key')或delete localStorage.key(不推荐) - 清空当前域下所有 localStorage:
localStorage.clear() - 查有多少条:
localStorage.length - 遍历所有键名:
for (let i = 0; i
验证是否可用:写完立刻读一次
浏览器在隐私模式、存储满、或用户禁用本地存储时,setItem() 可能静默失败或抛错。建议写入后简单验证:
localStorage.setItem('test', 'ok');<br>if (localStorage.getItem('test') !== 'ok') {<br> console.warn('localStorage may be disabled or full');<br>}- 生产环境可封装一个带兜底的工具函数,失败时降级到内存缓存或提示用户
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











