先自我介绍一下,本人男,27岁,单身,web前端程序员一枚,长期潜伏在幕后,只学不教(貔貅么?),其实主要是工做太忙了,天天忙到11点左右,没有时间写东西,洗洗就睡了。最近赶巧,后端那边出技术瓶颈了,于是小休息了两天,优化了一下本身的grunt自动化。前端
今每天气很好,阳光明媚的,忽然一激动就想开个博客了,固然做为博客园新人不来点料不是霸占资源么,思来想去仍是先教教新手们如何使用localStorage吧,毕竟这个东西对前端来讲过重要了。程序员
好了,闲话不说进入正题。web
localStorage,俗名本地存储,是一个只有5M大小的浏览器端存储工具,不过相比cookie的几K存储量来讲,存储空间还算是提高了很多,这个东东在哪里看呢(⊙o⊙)?json
打开浏览器—>F12—>算了直接上图吧o(╯□╰)o后端
上图:浏览器
看吧,不是个很复杂的东西,很直观嘛,下面教你们如何使用,性能优化
第一步,服务器
算了,知道大家都是懒虫,我直接封装好了,copy吧:cookie
1 /*设置与获取Cookie*/ 2 var Cookie ={} 3 Cookie.write = function(key, value, duration){ 4 var d = new Date(); 5 d.setTime(d.getTime()+1000*60*60*24*30); 6 document.cookie = key + "=" + encodeURI(value) + "; expires=" + d.toGMTString(); 7 }; 8 Cookie.read = function(key){ 9 var arr = document.cookie.match(new RegExp("(^| )"+key+"=([^;]*)(;|$)")); 10 if(arr != null) 11 return decodeURIComponent(arr[2]); 12 return ""; 13 }; 14 //定义本地存储对象 15 var storage = { 16 getItem:function(key){//假如浏览器支持本地存储则从localStorage里getItem,不然乖乖用Cookie 17 return window.localStorage? localStorage.getItem(key): Cookie.read(key); 18 }, 19 setItem:function(key,val){//假如浏览器支持本地存储则调用localStorage,不然乖乖用Cookie 20 if (window.localStorage) { 21 localStorage.setItem(key,val); 22 } else { 23 Cookie.write(key,val); 24 } 25 } 26 };
封装的比较简单,若是有更多须要能够本身再扩张一下,使用的话是蛮简单的,grunt
举例:
1 storage.setItem("UserName","黄大帅哥");//将UserName存进去 2 if(storage.getItem("UserName"))//假如存进去了 3 { 4 console.log(storage.getItem("UserName"));//打印出来样子 5 }
注意事项:
由于localStorage存储进去的都是string类型,因此若是要存json记得存前读后作些处理
1 var myJson={"UserName","黄大帅哥"}; 2 storage.setItem("MyJson",JSON.stringify(myJson));//将myJson存进去,记得JSON.stringify转成字符串 3 var getmyJson=JSON.parse(storage.getItem("MyJson"));//取出来的是字符串,记得JSON.parse还原一下
结尾:是否是以为玩转localStorage如此轻松了,未来什么性能优化,减小与服务器的请求,用户历史行为记录等均可以经过它来完成,就看你能想到多少灵感了