JavaScript 中如何进行本地存储 (Local Storage)?

推荐答案

在 JavaScript 中,可以使用 localStorage 对象来进行本地存储。localStorage 是 Web Storage API 的一部分,允许你在浏览器中存储键值对数据,且数据不会随着页面关闭而丢失。

基本用法

  1. 存储数据

  2. 获取数据

  3. 删除数据

  4. 清空所有数据

示例代码

-- -------------------- ---- -------
-- ----
-------------------------------- -----------

-- ----
----- -------- - ---------------------------------
---------------------- -- --- -------

-- ----
------------------------------------

-- ------
---------------------

本题详细解读

1. localStorage 的特点

  • 持久性:存储在 localStorage 中的数据没有过期时间,除非手动删除,否则数据会一直保留。
  • 同源策略localStorage 的数据是按域名隔离的,不同域名之间的数据不能互相访问。
  • 存储大小:通常每个域名下的 localStorage 可以存储 5MB 左右的数据。

2. localStorage 的常见方法

  • setItem(key, value):将数据存储到 localStorage 中,keyvalue 都必须是字符串。
  • getItem(key):根据 key 获取存储在 localStorage 中的数据。
  • removeItem(key):根据 key 删除 localStorage 中的数据。
  • clear():清空 localStorage 中所有的数据。

3. 注意事项

  • 数据类型localStorage 只能存储字符串类型的数据。如果要存储对象或数组,需要先将其转换为字符串(如使用 JSON.stringify()),读取时再解析(如使用 JSON.parse())。

  • 同步操作localStorage 的操作是同步的,可能会阻塞主线程,因此在处理大量数据时需要注意性能问题。

  • 安全性localStorage 中的数据是明文存储的,不适合存储敏感信息(如密码、令牌等)。

4. 与 sessionStorage 的区别

  • 生命周期sessionStorage 的数据只在当前会话期间有效,关闭浏览器标签页后数据会被清除,而 localStorage 的数据会一直保留。
  • 作用域sessionStorage 的作用域是当前窗口或标签页,而 localStorage 的作用域是整个域名。

5. 兼容性

localStorage 在现代浏览器中得到了广泛支持,但在一些旧版浏览器(如 IE7 及更早版本)中可能不支持。可以通过以下代码检测浏览器是否支持 localStorage

纠错
反馈