localStorage(本地存储)与sessionStorage(会话存储)的区别

   localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。

    sessionStorage仅在当前会话下有效,关闭页面或浏览器后被清除。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。源生接口可以接受,亦可再次封装来对ObjectArray有更好的支持。

localStoragesessionStorage使用时使用相同的API

     localStorage.setItem("key","value");//以“key”为名称存储一个值“value”

     localStorage.getItem("key");//获取名称为“key”的值

     localStorage.removeItem("key");//删除名称为“key”的信息。

     localStorage.clear();​//清空localStorage中所有信息

     不同浏览器无法共享localStoragesessionStorage中的信息。相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。这里需要注意的是,页面及标 签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的。

缺点

    不兼容ie9以下的浏览器

优点

    接口完善

在 Web 应用程序中,我们经常需要在浏览器中保存一些数据,以便在下一次访问应用程序时可以直接读取这些数据。为了实现这个功能,Web 浏览器提供了两种本地数据存储方式:`localStorage` 和 `sessionStorage`。 `localStorage` 和 `sessionStorage` 都是浏览器提供的 JavaScript API,可以用来在浏览器中保存和读取数据。它们的主要区别在于数据的生命周期和作用域。 `localStorage` 中保存的数据是永久性的,除非用户手动清除,否则数据将一直保存在浏览器中。而 `sessionStorage` 中保存的数据只在当前会话中有效,当用户关闭浏览器窗口或标签页时,数据将被删除。 另外,`localStorage` 中保存的数据可以在不同的窗口或标签页中共享,而 `sessionStorage` 中保存的数据只能在同一个窗口或标签页中共享。 在 JavaScript 中,我们可以使用以下代码来读取和保存数据到本地存储中: ``` // 保存数据到 localStoragelocalStorage.setItem('key', 'value') // 从 localStorage 中读取数据 const value = localStorage.getItem('key') // 从 localStorage 中删除数据 localStorage.removeItem('key') // 清空 localStorage 中的所有数据 localStorage.clear() ``` 类似地,我们可以使用 `sessionStorage` 来读取和保存数据: ``` // 保存数据到 sessionStoragesessionStorage.setItem('key', 'value') // 从 sessionStorage 中读取数据 const value = sessionStorage.getItem('key') // 从 sessionStorage 中删除数据 sessionStorage.removeItem('key') // 清空 sessionStorage 中的所有数据 sessionStorage.clear() ``` 需要注意的是,`localStorage` 和 `sessionStorage` 中只能保存字符串类型的数据,如果需要保存其他类型的数据,需要先将其转换为字符串类型。例如,我们可以使用 `JSON.stringify` 方法将 JavaScript 对象转换为字符串,然后再保存本地存储中。在读取数据时,需要使用 `JSON.parse` 方法将字符串转换为 JavaScript 对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值