怎样用JavaScript操作本地存储?

2025-05-08 15

在JavaScript中操作本地存储(Local Storage)和会话存储(Session Storage)非常简单,它们都是通过window对象提供的API实现的。以下是详细的操作方法:


1. 本地存储(Local Storage)

特点:数据永久保存,除非手动清除或代码删除。

基本操作:

// 存储数据(键值对)
localStorage.setItem('key', 'value'); // 值必须是字符串

// 获取数据
const value = localStorage.getItem('key'); // 返回字符串或null

// 删除指定键
localStorage.removeItem('key');

// 清空所有数据
localStorage.clear();

// 获取键名(根据索引)
const keyName = localStorage.key(0); // 个键名

存储对象/数组:

需用JSON.stringify()JSON.parse()转换:

const user = { name: 'Alice', age: 25 };

// 存对象
localStorage.setItem('user', JSON.stringify(user));

// 取对象
const savedUser = JSON.parse(localStorage.getItem('user'));
console.log(savedUser.name); // "Alice"

2. 会话存储(Session Storage)

特点:数据仅在当前标签页有效,关闭后自动清除。

// 用法与Local Storage完全一致,只是对象不同
sessionStorage.setItem('token', 'abc123');
const token = sessionStorage.getItem('token');

3. 监听存储变化

可以监听其他标签页对同一存储的修改:

window.addEventListener('storage', (event) => {
  console.log('变化的数据:', event.key);
  console.log('旧值:', event.oldValue);
  console.log('新值:', event.newValue);
});

注意事项:

  1. 容量限制:约5MB(不同浏览器可能不同)。
  2. 安全性:不要存储敏感信息(如密码)。
  3. 同步操作:会阻塞主线程,大量数据需谨慎。
  4. 兼容性:现代浏览器均支持,但旧版IE需测试(IE8+支持)。

示例:用户偏好设置

// 保存主题偏好
function saveTheme(theme) {
  localStorage.setItem('preferredTheme', theme);
}

// 加载时应用主题
window.addEventListener('DOMContentLoaded', () => {
  const theme = localStorage.getItem('preferredTheme') || 'light';
  document.body.className = theme;
});

通过以上方法,你可以轻松实现数据的本地持久化。

(本文来源:nzw6.com)

Image

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关