一、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);

  

H5的localStorage使用总结的更多相关文章

  1. h5 的localStorage和sessionStorage存到缓存里面的值是string类型

    localStorage永久存在,不手动清除永远存在:sessionStorage 一次会话的浏览器关闭就自动清除 h5 的localStorage和sessionStorage 存到缓存里面的值都是 ...

  2. h5的localStorage和sessionStorage

    今天做了个首页的弹窗,要求是打开时显示弹窗,然后点击关闭按钮时弹窗关闭,然后点击不再显示,之后再刷新就不会有弹窗,总结一下需求. 1.弹窗显示隐藏 这个很容易,我们可以用display:none和di ...

  3. H5之localStorage,sessionStorage

    在以前的时候也听说过一些h5缓存技术,具体也没有去使用过,就在前两三个礼拜我用了localStorage和sessionStorage这两个存储方式, 我使用这些存储技术,也是想减少访问服务器的请求, ...

  4. H5的localStorage简单存储删除

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. H5存储------localStorage和sessionStorage

    web现在随着计算机的高速发展,客户端干的事情越来越多了,随着事情的增多,很多东西存储就不止在服务器了,本地存储越来越强大了(大神原谅我废话了

  6. H5本地存储详细使用教程(localStorage + JSON数据存储应用框架)

    一.Web Storage教程 1.概述: 对于Web Storage来说,实际上是Cookies存储的进化版.如果了解Cookie的人几乎一看Web Storage就会用,如果你从来没用过没了解过C ...

  7. 使用h5的history改善ajax列表请求体验

    信息比较丰富的网站通常会以分页显示,在点“下一页”时,很多网站都采用了动态请求的方式,避免页面刷新.虽然大家都是ajax,但是从一些小的细节还是 可以区分优劣.一个小的细节是能否支持浏览器“后退”和“ ...

  8. H5 Day2 练习

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. javascript-Cookie的应用

    在我平时开发网页的过程中,可能涉及到浏览器本地的存储,现在主流的浏览器存储方式有:cookie,直接读取xml,userData,H5 的LocalStorage等,Cookie存储数据有限,但对于数 ...

随机推荐

  1. 大数据高可用集群环境安装与配置(02)——配置ntp服务

    NTP服务概述 NTP服务器[Network Time Protocol(NTP)]是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精 ...

  2. 三分钟入坑指北 🔜 Docsify + Serverless Framework 快速创建个人博客系统

    之前由于学摄影的关系,为了提高自己的审美,顺便锻炼下自己的英文能力,翻译了不少国外艺术类的 文章.最近一直想搭一个个人博客来存放这些内容,又懒得折腾建站,遂一直搁置. 直到偶然发现了 docsify ...

  3. css常见符号

    * 通配符使用星号*表示,意思是“所有的” 比如:* { color : red; } 这里就把所有元素的字体设置为红色 缺点: 不过,由于*会匹配所有的元素,这样会影响网页渲染的时间 解决: res ...

  4. 元祖&字典

    #什么是元祖:元祖是一个不可变的列表(没有改的需求) #======================================基本使用============================== ...

  5. 挑战目标跟踪算法极限,SiamRPN系列算法解读

    商汤科技智能视频团队首次开源其目标跟踪研究平台 PySOT.PySOT 包含了商汤科技 SiamRPN 系列算法,以及刚被 CVPR2019 收录为 Oral 的 SiamRPN++.此篇文章将解读目 ...

  6. 记一次Java面试问题点总结

    引言 昨日接了一个阿里外包的电话面试,问了一些技术问题感觉到自己是真的菜,接触Java开发已经也有一段时间,技术方面说来惭愧,一直以来只是局限于框架工具的用法,也没有进行了解其实现的原理,更重要的是一 ...

  7. Ubuntu---VIM 常用命令

    今天学习 VIM 的一些常用命令,向传说中的“最后一个编辑器”进攻,哈哈 插入命令: # insert i : 当前光标之前插入 I : 在此行的行首插入 o : 在下一行新起一行插入 O : 在上一 ...

  8. Python操作redis总结

    安装模块及配置 首先安装redis,在Ubuntu下输入指令pip install redis即可.下载完成后,cd到指定目录下,打开指定文件,如下图所示: 输入密码打开后,修改指定地方的内容,与上篇 ...

  9. BZOJ4059[Cerc2012]Non-boring sequences(扫描线/分治)

    这题正解应该是扫描线,就是发现DP的区间在两个维度都为连续段,于是可以直接扫描线.但不幸的是,扫描线常数过大,无法通过本题. 考虑分治.对于分治区间[l,r],可以记录pre和nxt表示其前/后一次出 ...

  10. 复杂json解析方式[GsonFormat]

    针对开发人员来讲,善于用工具,事半功倍. 干货: 1.IntelliJ IDEA 通过GsonFormat插件将JSONObject格式的String 解析成实体 插件地址:https://plugi ...