入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2017-03-20 投稿人: 浏览次数:5525

一 众所周知,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>H5的storage</title>
</head>
<body>
    <input type="button" onclick="setItems()" value="存值" />
    <input type="button" onclick="getItems()" value="取值" />
    <input type="button" onclick="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+"
 age:"+data.age+"
 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保存过多数据会带来性能问题。(服务器与客户端可互传) 仅在客户端(即浏览器)中保存,不参与和服务器的通信 仅在客户端(即浏览器)中保存,不参与和服务器的通信


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。