美文网首页
HTML5之LocalStorage本地存储

HTML5之LocalStorage本地存储

作者: 萤火虫de梦 | 来源:发表于2017-10-27 10:34 被阅读476次
    微信图片_20171027102831.jpg

    一、本地存储

    在HTML5诞生之前,网站如果想在浏览器端存储数据,只能使用Cookie,使用Cookie有较多的限制。

    Cookie问题:

    1.cookie大小限制在4K左右(各个浏览器不一致)

    2.cookie每次随着HTTP请求都会一起发送(造成很多不需要的cookie也会一起发送)

    本地存储:

    1.localStorage大小限制在5M(各个浏览器不一致)

    2.localStorage不会随着HTTP请求一起发送

    二、会话级别的本地存储-sessionStorage

    sessionStorage:用户浏览某个网站时,从进入网站开始一直到关闭网站,这就是session对象的有效期。

    sessionStorage提供了四种方法对本地存储做相关操作。

    1. setItem( key, value );添加本地存储数据

    2.getItem( key );通过key获取相应的value值

    3.removeItem( key ); 通过key删除相应的value值

    4.clear();清空本地所有(限本域名下)session数据

    <script type="text/javascript"> 2
     //添加key-value 数据到sessionStorage 
     sessionStorage.setItem("name", "萤火虫de梦"); 
    sessionStorage.setItem("job", "前端");
    //通过key来获取value 
    var name = sessionStorage.getItem("name");
    console.log(name); 
     console.log(sessionStorage.length);
    // 通过key删除value
     sessionStorage.removeItem("job");
    console.log(sessionStorage.length); 
    //清空所有的key-value数据。
    sessionStorage.clear();
    console.log(sessionStorage.length); 
     </script>
    

    三、永久本地存储-localStorage

    localStorage:用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

    localStorage提供了四种方法对本地存储做相关操作。

    1. setItem( key, value );添加本地存储数据

    2.getItem( key );通过key获取相应的value值

    3.removeItem( key ); 通过key删除相应的value值

    4.clear();清空本地所有数据

    <script type="text/javascript"> 2 
    //添加key-value 数据到 sessionStorage 
     localStorage.setItem("name", "萤火虫de梦"); 
    localStorage.setItem("job", "前端"); 
    //通过key来获取value
    var name = localStorage.getItem("name");
     console.log(name); 
    console.log(localStorage.length);
     // 通过key删除value
    localStorage.removeItem("job");
     console.log(localStorage.length); 
     //清空所有的key-value数据。
     localStorage.clear();
     console.log(localStorage.length);
     </script>
    

    四、总结

    localStorage与sessionStorage 两种区别就是一个临时保存,一个长期保存。

    你可能见过下面这种写法:

    <script type="text/javascript">
    //设置name3 
    localStorage.name = "萤火虫de梦"
     // 删除name
    delete localStorage.name
     </script>
    

    上面直接赋值的方法确实可以实现功能,但是官方文档中将其定义为一种不安全的写法,所以不要用这种写法,使用localStorage提供的方法。

    相关文章

      网友评论

          本文标题:HTML5之LocalStorage本地存储

          本文链接:https://www.haomeiwen.com/subject/ifrrpxtx.html