localStorage和sessionStorage以及两者区别

发布于:2024-07-16 ⋅ 阅读:(151) ⋅ 点赞:(0)

localStorage

localStorage 是一种客户端存储机制,在用户的浏览器中存储键值对形式的数据。

1.方法

1.存数据

localStorage.setItem("name", "lily");

2.取数据

const name=localStorage.getItem("name");
console.log(name)//lily

3更新数据

localStorage.setItem("name", "lily");

4.删除数据

localStorage.removeItem("username");

5.清空数据

localStorage.clear();

2.存储时的注意点

当localStorage存储对象数据时,需要使用 JSON.stringify() 方法将对象转为字符串存储,取的时候使用JSON.parse()方法将字符串转换为对象。

// 存储对象
var user = {
  name: "小明",
  age: 18,
};
 
localStorage.setItem("user", JSON.stringify(user));
 
// 获取对象
var storedUser = localStorage.getItem("user");
var parsedUser = JSON.parse(storedUser);
 
console.log(parsedUser.name); 
console.log(parsedUser.age); 
console.log(parsedUser.email);

sessionStorage

sessionStorage 的语法与localStorage的一致

二者区别

  • 1.作用域不同
    • sessionStorage 的作用域限定在当前会话(当前浏览器标签页或窗口),而 localStorage 的作用域是永久的,数据在不同会话(遵循同源策略)之间共享。
  • 2.生命周期不同
    • sessionStorage 的数据在会话结束时被清除,即当用户关闭浏览器标签页或窗口时,sessionStorage 中的数据会被删除。而 localStorage 的数据是持久化的,除非被显式清除,否则会一直保存在客户端。
  • 3.存储容量不同
    • sessionStorage 的存储容量通常比 localStorage 小。一般来说,sessionStorage 的容量限制在 5MB 左右,而 localStorage 的容量限制通常在 5MB 到 10MB 之间,不同浏览器可能会有所不同。
  • 4.数据共享不同
    • sessionStorage 的数据在同一个标签页或窗口中共享,不会跨标签页或窗口共享。而 localStorage 的数据在同一个域名下的所有标签页和窗口中共享。