H5的storage(sessionstorage&localStorage)简单存储删除

一 众所周知,H5的storage有sessionstorage&localStorage,其中他们的共同特点是API相同

下面直接上代码,storage中的存储与删除:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>H5storage</title>
</head>
<body>
    <input type='button' οnclick='setItems()' value='存值' />
    <input type='button' οnclick='getItems()' value='取值' />
    <input type='button' οnclick='deleteItem()' value='删除' />
</body>
<script src="js/jquery.min.js"></script>
<script>
    //localStorage存值永久有效
    function setItems(){
        var user = {};
        user.name = 'Adam Li';
        user.age  = 25;
        user.home = 'China';
        localStorage.setItem('userinfo',JSON.stringify(user));
    }
    //localStorage取值
    function getItems(){
        var data = JSON.parse(localStorage.getItem('userinfo'));
        console.log("name:"+data.name+'\r age:'+data.age+"\r home:"+data.home);
    }

    //localStorage删除指定键对应的值
    function deleteItem(){
        localStorage.removeItem('userinfo');
        console.log(localStorage.getItem('userinfo'));
    }
</script>
</html>

而 cookie localStorage sessionStorage 区别

1、cookie

  • 客户端记录信息确定用户身份。
  • 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。就给客户端们颁发一个通行证,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。
  • 客户端发送一个http请求到服务器端
    服务器端发送一个http响应到客户端,其中包含Set-Cookie头部 
    客户端发送一个http请求到服务器端,其中包含Cookie头部 
        服务器端发送一个http响应到客户端
       

2、localStorage

  • localStorage 是 HTML5 标准中新加入的技术,规则事先已经设定好了,要访问同一个localStorage对象,页面必须来自同一个域名,子域名无效,使用同一种协议,在同一个端口,数据会保留到通过js删除或者用户删除浏览器缓存。

3、sessionStorage

  • sessionStorage 与 localStorage 的接口类似,但保存数据的生命周期与 localStorage 不同。可以将一部分数据在当前会话中保存下来,刷新页面数据依旧存在。但当页面关闭后,sessionStorage 中的数据就会被清空。

4、三者对比

特性 Cookie localStorage sessionStorage
存放位置
浏览器端
浏览器端
浏览器端
数据的生命期 可设置失效时间,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下有效,关闭页面或浏览器后被清除
存放数据大小 4K左右 一般为5MB 一般为5MB
作用域
同源窗口中共享
同源窗口中共享
不可在不同浏览器窗口中共享
与服务器端通信 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题。(服务器与客户端可互传) 仅在客户端(即浏览器)中保存,不参与和服务器的通信 仅在客户端(即浏览器)中保存,不参与和服务器的通信


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`$store.state` 是 Vuex 中存储数据的地方,可以看作是一个全局的状态管理器,它可以存储应用程序的所有状态,而且所有组件都可以访问和修改它。 `sessionStorage` 和 `localStorage` 是浏览器提供的 Web 存储机制,用于在浏览器中存储数据。它们的区别在于数据的生命周期不同,`sessionStorage` 存储数据在浏览器会话期间有效,当用户关闭浏览器窗口后,数据就会失效;而 `localStorage` 存储数据则会一直存在,即使用户关闭浏览器窗口,数据也不会丢失,除非用户手动清除。 因此,`$store.state` 和 `sessionStorage`&`localStorage` 的区别在于: 1. `$store.state` 存储数据是全局的,可以在整个应用程序中访问和修改,而 `sessionStorage`&`localStorage` 存储数据只能在当前浏览器窗口中访问和修改。 2. `$store.state` 存储数据是在内存中存储的,应用程序重新加载后数据会丢失,而 `sessionStorage` 存储数据在浏览器会话期间有效,`localStorage` 存储数据则会一直存在。 3. `$store.state` 存储数据可以在应用程序中进行响应式处理,而 `sessionStorage`&`localStorage` 存储数据不支持响应式处理。 因此,在实际开发中,我们需要根据具体的需求选择合适的存储方式。如果需要在整个应用程序中共享数据,并且数据需要支持响应式处理,那么就应该选择 `$store.state`;如果需要在浏览器窗口中存储数据,并且数据需要在浏览器会话期间有效,那么就应该选择 `sessionStorage`;如果需要在浏览器中长期存储数据,那么就应该选择 `localStorage`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值