js中的localStorage 和 sessionStorage API

134 阅读1分钟

当我们在JavaScript中需要在浏览器中存储数据时,可以使用Web Storage API。其中,localStoragesessionStorage是两个常用的Web Storage对象。

localStoragesessionStorage的主要区别在于数据的生命周期和作用域。localStorage存储的数据在浏览器关闭后仍然保留,而sessionStorage存储的数据仅在当前会话中有效,当浏览器窗口关闭后会被清除。另外,localStorage的作用域是整个源(即一个域名下的所有页面共享数据),而sessionStorage的作用域是同一窗口或标签页。

下面是使用localStoragesessionStorage的一些示例代码:

  1. 使用localStorage:
// 设置数据
localStorage.setItem('username', 'John');

// 获取数据
var username = localStorage.getItem('username');
console.log(username); // 输出:John

// 移除数据
localStorage.removeItem('username');

// 清空所有数据
localStorage.clear();
  1. 使用sessionStorage:
// 设置数据
sessionStorage.setItem('token', 'abc123');

// 获取数据
var token = sessionStorage.getItem('token');
console.log(token); // 输出:abc123

// 移除数据
sessionStorage.removeItem('token');

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

在上述示例中,我们使用setItem方法来设置存储的数据,使用getItem方法来获取存储的数据,使用removeItem方法来移除指定的数据,使用clear方法来清空所有存储的数据。

请注意,存储在localStoragesessionStorage中的数据都是以字符串形式存储的。如果需要存储和读取其他类型的数据(如对象),需要使用JSON.stringify()JSON.parse()方法进行序列化和反序列化操作。

// 存储对象
var user = { name: 'John', age: 30 };
localStorage.setItem('user', JSON.stringify(user));

// 读取对象
var storedUser = JSON.parse(localStorage.getItem('user'));
console.log(storedUser); // 输出:{ name: 'John', age: 30 }

这是关于localStoragesessionStorage的简单介绍和示例代码。使用它们可以方便地在浏览器中存储和获取数据,并且可以根据需求选择合适的存储方式。