基础信息说明
功能概述:提供了一种本地缓存的机制,其缓存的数据可以长期保存。
方法说明
| 方法名/属性名 | 签名 | 说明 |
length
| localStorage.length | 获取存储在 localStorage 对象中的数据项数量(只读) |
key
| localStorage.key(Number index) | 得到某个索引的key
|
| clear | localStorage.clear() | 删除所有数据 |
| removeItem | localStorage.removeItem(String key) | 删除单个数据 |
| setItem | localStorage.setItem(String key, String value) | 保存数据 |
| getItem | localStorage.getItem(String key) | 读取数据 |
参数说明
localStorage.key(Number index)
| 属性名 | 类型 | 默认值 | 必填 | 说明 |
| index | Number | - | 是 | 一个整数,表示要获取的键名索引 |
localStorage.removeItem(String key)
| 属性名 | 类型 | 默认值 | 必填 | 说明 |
| key | String | - | 是 | 键名 |
localStorage.setItem(String key, String value)
| 属性名 | 类型 | 默认值 | 必填 | 说明 |
| key | String | - | 是 | 要创建或更新的键名 |
| value | String | - | 是 | 要创建或更新的键名对应的值 |
localStorage.getItem(String key)
| 属性名 | 类型 | 默认值 | 必填 | 说明 |
| key | String | - | 是 | 键名 |
返回值说明
localStorage.key(Number index)
localStorage.getItem(String key)
示例代码
// 存储字符串
localStorage.setItem('username', 'zhangsan');
// 存储对象(需序列化)
const user = { id: 1, name: '张三', age: 20 };
localStorage.setItem('user', JSON.stringify(user));
// 存储数组(需序列化)
const hobbies = ['篮球', '音乐', '编程'];
localStorage.setItem('hobbies', JSON.stringify(hobbies));
// 获取字符串
const username = localStorage.getItem('username');
console.log(username); // "zhangsan"
// 获取对象(需反序列化)
const user = JSON.parse(localStorage.getItem('user'));
console.log(user.name); // "张三"
// 获取数组(需反序列化)
const hobbies = JSON.parse(localStorage.getItem('hobbies'));
console.log(hobbies[0]); // "篮球"
// 获取不存在的键
const nonExist = localStorage.getItem('nonExistKey');
console.log(nonExist); // null
// 删除单个项
localStorage.removeItem('username');
console.log(localStorage.getItem('username')); // null
// 删除不存在的键(无报错)
localStorage.removeItem('nonExistKey');
// 清空全部数据
localStorage.clear();
console.log(localStorage.length); // 0(存储项数量为0)
// 再存储一些数据
localStorage.setItem('a', '1');
localStorage.setItem('b', '2');
localStorage.setItem('c', '3');
console.log(localStorage.length); // 3(存储项数量为3)
// 遍历所有键值对
for (let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i); // 获取第i个键名
const value = localStorage.getItem(key);
console.log(`${key}: ${value}`); // 输出:a:1, b:2, c:3
}