web前端必须掌握的localStorage

先自我介绍一下,本人男,27岁,单身,web前端程序员一枚,长期潜伏在幕后,只学不教(貔貅么?),其实主要是工作太忙了,每天忙到11点左右,没有时间写东西,洗洗就睡了。最近赶巧,后端那边出技术瓶颈了,因而小休息了两天,优化了一下自己的grunt自动化。

今天天气很好,阳光明媚的,突然一激动就想开个博客了,当然作为博客园新人不来点料不是霸占资源么,思来想去还是先教教新手们如何使用localStorage吧,毕竟这个东西对前端来说太重要了。

好了,闲话不说进入正题。

localStorage,俗名本地存储,是一个只有5M大小的浏览器端存储工具,不过相比cookie的几K存储量来说,存储空间还算是提升了不少,这个东东在哪里看呢(⊙o⊙)?

打开浏览器—>F12—>算了直接上图吧o(╯□╰)o

上图:

看吧,不是个很复杂的东西,很直观嘛,下面教大家如何使用,

第一步,

算了,知道你们都是懒虫,我直接封装好了,copy吧:

 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  };

封装的比较简单,如果有更多需要可以自己再扩张一下,使用的话是蛮简单的,

举例:

storage.setItem("UserName","黄大帅哥");//将UserName存进去
if(storage.getItem("UserName"))//假如存进去了
{
 console.log(storage.getItem("UserName"));//打印出来样子
}

注意事项:

因为localStorage存储进去的都是string类型,所以如果要存json记得存前读后做些处理

var myJson={"UserName","黄大帅哥"};

storage.setItem("MyJson",JSON.stringify(myJson));//将myJson存进去,记得JSON.stringify转成字符串

var getmyJson=JSON.parse(storage.getItem("MyJson"));//取出来的是字符串,记得JSON.parse还原一下

结尾:是不是觉得玩转localStorage如此轻松了,将来什么性能优化,减少与服务器的请求,用户历史行为记录等都可以通过它来完成,就看你能想到多少灵感了

时间: 2024-11-05 20:28:26

web前端必须掌握的localStorage的相关文章

Web前端面试题目及答案汇总

前端新人在面试前都比较焦虑,担心回答不上面试官的问题,也担心自己紧张,其实这都是心理没底的表现,今天和大家分享web前端开发常见面试题及答案,希望可以帮助即将面试的前端同学顺利通过面试. HTML/CSS部分 1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个部分.这四个部分占有的空间中,有的部分可以显示相应的内容,而有的部分只用来分隔相邻的区域或

Web 前端知识体系精简

Web前端技术由html.css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构.本文将对Web前端知识体系进行简单的梳理,对应的每个知识点点到为止,不作详细介绍.目的是帮助大家审查自己的知识结构是否完善,如有遗漏或不正确的地方,希望共勉. JAVASCRIPT 篇 0.基础语法 Javascript基础语法包括:变量定义.数据类

初级web前端程序员面试题整理

以下是收集的一些web前端工程师面试中经常会遇到的经典面试题以及自己面试过程中无法解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢迎指正. HTML/CSS部分 1.什么是盒子模型? 在网页中,一个元素占有空间的 大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距 (margin)四个部分.这四个部分占有的空间中,有的部分可以显示相应的内容,而有的部分只用来分隔相邻的区

Silence.js高效开发移动Web前端类库

基于Zepto的轻量级移动Web前端JavaScript类库. 编写这个类库原因及目的: 采用MVC设计模式,使代码工程化结构化. 使用RouterJS,提升前端交互性能,延长页面使用时间,并通过Ajax实现交互,避免页面跳转的交互中断糟糕体验. 使用LocalStorage前端离线缓存,实现缓存时间有效期,从而带给用户极致的响应效率. 基于ZetpoJS,移动端的JQuery,兼容JQuery大部分语法,体积更小,效率更高. 基于Touch.js,支持移动端触摸事件('swipe', 'swi

Web前端知识体系精简

Web前端技术由html.css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构.本文将对Web前端知识体系进行简单的梳理,对应的每个知识点点到为止,不作详细介绍.目的是帮助大家审查自己的知识结构是否完善,如有遗漏或不正确的地方,希望共勉. JAVASCRIPT 篇 0.基础语法 Javascript基础语法包括:变量定义.数据类

【转】Web前端黑客技术揭秘{笔记}

原文 http://www.cnblogs.com/r00tgrok/articles/Web-Hacking.html 前些日子看完了白帽子讲Web安全,当时就PHP安全一 章做了点小笔记,感觉看书还是留下点东西比较好.翻开Web前端黑客技术揭秘一书决定要做笔记,但是这样下来其实进度就比较慢了,敲字做笔记绝对远比看书 来的慢.有时候上午看完的内容做笔记时要花一天时间,一方面是要敲字,另一方面是自己只从书上摘录部分内容有时候需要将其串起来,还有就是碰上自己想发两 句言也会拖慢进度.总之现在书是看

向着全栈工程师前进!Web前端知识体系精简

Web前端技术由html.CSS和JavaScript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构.本文将对Web前端知识体系进行简单的梳理,对应的每个知识点点到为止,不作详细介绍.目的是帮助大家审查自己的知识结构是否完善,如有遗漏或不正确的地方,希望共勉. JAVASCRIPT 篇 重点:爱创课堂8月份web前端培训课程就要开课: 特针对零基础开

web前端工程师入门须知

先说下web前端工程师的价值,目前web产品交互越来越复杂,用户使用体验和网站前端性能优化这些都得靠web前端工程师去做web前端工程师是 设计加开发的综合体,web前端工程师是在开发人员中最直接面向产品,面向用户的设计人员,一个开发团队的成果是要靠web前端工程师去展现,因为用户不 会去关心后台的处理有多么强大 :在设计人员中web前端工程师是直接面向开发人员的设计人员,向开发人员以一种计算机语言的方式传递其设计理念,web前端工程师在整个团队中是很关键 的. 在我眼中一名合格的web前端工程

angular和web前端的一些细节

HTML5中的本地存储localStorage:一直存储在本地sessionStorage:伴随着session,窗口关闭就没了用法:localStorage.setItem("key","value")//设置变量localStorage.getItem("key")//获取变量localStorage.removeItem("key")//清除变量 angularJS中scope和rootscope的区别scope:用于单