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

  

最新文章

  1. Redux教程3:添加倒计时
  2. Pattern Recognition And Machine Learning (模式识别与机器学习) 笔记 (1)
  3. sharepoint app 开发环境配置
  4. Unity-Animator深入系列总索引
  5. expdp小记
  6. C#函数式编程之递归调用
  7. 每天一个linux命令(7):cp 命令
  8. 浅谈Java的输入输出流(转)
  9. 第一段nodejs代码
  10. AngularJS与RequireJS集成方案
  11. awk除去重复行
  12. Python安装模块出错(ImportError: No module named setuptools)解决方法
  13. Floodlight中 处理packetin消息的顺序(1)
  14. Linux 网络编程: gethostbyname( ), getservbyname( )
  15. 【IOS开发笔记01】学生管理系统(上)
  16. Jquery获取input=text 的值
  17. Java加密与解密笔记(四) 高级应用
  18. Python之匿名函数
  19. Android应用跳转到微信和支付宝扫一扫
  20. Django_rest framework 框架介绍

热门文章

  1. python3.4+Django+pymysql
  2. centos6-7 yum安装php的方法
  3. JVM探秘:jstat查看JVM统计信息
  4. 墙壁涂色(DP)
  5. 吴裕雄--天生自然 JAVASCRIPT开发学习:DOM EventListener
  6. python Mysql数据库连接池组件封装(转载)
  7. (转载)JVM中的内存模型与垃圾回收
  8. MySQL--Centos7下安装5.7.19
  9. 华为荣耀magic book(锐龙版)安装ubuntu系统
  10. 一个支持种子、磁力、迅雷下载和磁力搜索的APP源代码