• H5的localStorage使用总结


    一、localstorage 的优缺点

      优点:

        1、localStorage 的存储大小是5M,而cookie的存储大小只有4K,解决了cookie存储空间不足的问题

        2、localStorage 可以将第一次请求的数据直接存储到本地,相当于是一个针对前端而言的5M的数据库,相比于cookie可以节约带宽

      缺点:

        1、浏览器的大小不统一,并且在IE8以上版本才支持

        2、对于一些操作,如F5刷新,会发起 cache-control:max-age=0 的请求

        3、目前所有的浏览器中都会吧localStorage 的值类型限定为string类型,这个在比较常见的JSON中需要做一些转化

        4、localStroage 本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面卡顿

        5、localStorage 不能被爬虫抓取到

      localStorage 属于永久性存储,sessionStorage 属于当会话结束时,存储的内容会被清空

     二、localStorage 的使用 (增删改查)

      因为某些浏览器还不支持localStorage,所以可以先做判断

      if(!window.localStorage){

        alert("浏览器不支持localStorage!请使用高版本的Chrome或者Firefox");

        return false;

      }else{

        //业务逻辑

      }

      1、添加本地存储( 有三种方法,但是推荐使用 getItem() )

        var storage = window.localStorage;

        storage["a"] = 1; //方法一

        storage.b = 2;//方法二

        storage.setItem("c", 3);//方法三  推荐

      2、获取本地存储(有三种方法,推荐使用getItem())

        var storage = window.localStorage;

        storage.a //1

        storage["b"];//2

        storage.getItem("c"); //3  

      3、修改本地存储

        storage.a =4;

        storage.a; // 4

      4、 删除本地存储

        清除所有内容: storage.clear();

        清除某个键值:storage.removeItem("a");

    三、其他需要注意的:

      我们一般会将JSON存入localStorage ,需要将JSON格式的数据转化为string类型,需使用 JSON.stringify();

      读取之后要将JSON字符串转化成JSON对象,使用JSON.parse(); 

      注:其他类型的也需要转化为string,这里就不再介绍了,下面只介绍了JSON转化为string

      var storage=window.localStorage;

      var data={

        name:'user',

        sex:'female',

        age:18
      };

      var d=JSON.stringify(data);

      storage.setItem("data",d);

      var json=storage.getItem("data");//将JSON字符串转换成为JSON对象输出

      var jsonObj=JSON.parse(json);

      console.log(typeof jsonObj);

      

  • 相关阅读:
    pycharm试用版过期问题解决方法(仅能再使用30天)
    使用postmancli工具管理Postman数据
    使用Postman持续更新同步Collection
    ES6的解构赋值
    DOTween添加Sequance回调
    unity升级项目的时候注意不要忽略过程中的报错
    Java 如何实现各进制之间的相互转换
    使用 ohmyposh 美化 windows terminal,让其接近ohmyzsh
    configure: error: cannot find MySQL header files under /usr/local/mysql/lib/
    CentOS 7 释放内存
  • 原文地址:https://www.cnblogs.com/sllzhj/p/8278856.html
Copyright © 2020-2023  润新知