首页 技术 正文
技术 2022年11月16日
0 收藏 555 点赞 4,116 浏览 1446 个字

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

  

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,033
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,520
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,368
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,148
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,781
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,862