web前端必须掌握的localStorage
先自我介绍一下,本人男,27岁,单身,web前端程序员一枚,长期潜伏在幕后,只学不教(貔貅么?),其实主要是工作太忙了,每天忙到11点左右,没有时间写东西,洗洗就睡了。最近赶巧,后端那边出技术瓶颈了,因而小休息了两天,优化了一下自己的grunt自动化。
今天天气很好,阳光明媚的,突然一激动就想开个博客了,当然作为博客园新人不来点料不是霸占资源么,思来想去还是先教教新手们如何使用localStorage吧,毕竟这个东西对前端来说太重要了。
好了,闲话不说进入正题。
localStorage,俗名本地存储,是一个只有5M大小的浏览器端存储工具,不过相比cookie的几K存储量来说,存储空间还算是提升了不少,这个东东在哪里看呢(⊙o⊙)?
打开浏览器—>F12—>算了直接上图吧o(╯□╰)o
上图:

看吧,不是个很复杂的东西,很直观嘛,下面教大家如何使用,
第一步,
算了,知道你们都是懒虫,我直接封装好了,copy吧:
/*设置与获取Cookie*/
var Cookie ={}
Cookie.write = function(key, value, duration){
var d = new Date();
d.setTime(d.getTime()+1000*60*60*24*30);
document.cookie = key + "=" + encodeURI(value) + "; expires=" + d.toGMTString();
};
Cookie.read = function(key){
var arr = document.cookie.match(new RegExp("(^| )"+key+"=([^;]*)(;|$)"));
if(arr != null)
return decodeURIComponent(arr[2]);
return "";
};
//定义本地存储对象
var storage = {
getItem:function(key){//假如浏览器支持本地存储则从localStorage里getItem,否则乖乖用Cookie
return window.localStorage? localStorage.getItem(key): Cookie.read(key);
},
setItem:function(key,val){//假如浏览器支持本地存储则调用localStorage,否则乖乖用Cookie
if (window.localStorage) {
localStorage.setItem(key,val);
} else {
Cookie.write(key,val);
}
}
};
封装的比较简单,如果有更多需要可以自己再扩张一下,使用的话是蛮简单的,
举例:
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如此轻松了,将来什么性能优化,减少与服务器的请求,用户历史行为记录等都可以通过它来完成,就看你能想到多少灵感了
web前端必须掌握的localStorage的更多相关文章
- 也许你需要点实用的-Web前端笔试题
之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...
- web前端面试试题总结---html篇
HTML Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前.告知浏览器的解析器 ...
- Web 前端开发人员和设计师必读文章推荐【系列二十八】
<Web 前端开发精华文章推荐>2014年第7期(总第28期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- 2016年Web前端面试题目汇总
转载: 2016年Web前端面试题目汇总 以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢 ...
- WEB前端介绍
1.WEB前端是神马 Web前端开发是从网页制作演变而来的,名称上有很明显的时代特征.在互联网的演化进程中,网页制作是Web1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为 ...
- Web前端发展简史
Web前端发展简史 有人说“前端开发”是IT界最容易被误解的岗位,这不是空穴来风.如果你还认为前端只是从美工那里拿到切图, JS和CSS一番乱炖,难搞的功能就去网上信手拈来,CtrlC + Ctrl ...
- Silence.js高效开发移动Web前端类库
基于Zepto的轻量级移动Web前端JavaScript类库. 编写这个类库原因及目的: 采用MVC设计模式,使代码工程化结构化. 使用RouterJS,提升前端交互性能,延长页面使用时间,并通过Aj ...
- 学习web前端怎样入门?初学者赶紧看过来!
web前端怎么样才能入门,首先我们要从什么是初级web前端工程师说起: 按照我的想法,我把前端工程师分为了入门.初级.中级.高级这四个级别, 入门级别指的是了解什么是前端(前端到底是什么其实很多人还是 ...
- Web前端知识体系精简
Web前端技术由html.css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知 ...
随机推荐
- Oracle数据库编程:PL/SQL编程基础
2.PL/SQL编程基础: PL/SQL块: declare 定义部分 begin 执行部分 exception 异 ...
- zoj 3672 思考题
http://acm.zju.edu.cn/onlinejudge/showProblem.do? problemId=4915 真是老了.脑子不会动了,可是事实上就算如今搜了题解A了,还是没总结出思 ...
- HDU1016(bfs)
import java.util.Scanner;public class Main1016 { public static void main(String[] args) { Scanner ci ...
- 从源码角度深入理解Toast
Toast这个东西我们在开发中经常用到,使用也很简单,一行代码就能搞定: 1: Toast.makeText(", Toast.LENGTH_LONG).show(); 但是我们经常会遇到这 ...
- c#中[Flags] 枚举类型定义问题_百度知道
[Flags]的微软解释是“指示可以将枚举作为位域(即一组标志)处理.”其实就是在编写枚举类型时,上面附上Flags特性后,用该枚举变量是既可以象整数一样进行按位的“|”或者按位的“&”操作了 ...
- c++基础语法 构造函数 析构函数 类的组合
1 构造函数 1.不能指定任何返回值,甚至连void都不能有. 2.与Java不同,c++不同new对象,对于无参的构造函数声明对象时括号应该省略. 2 析构函数 1. 前加~,不能有参数,不能有返回 ...
- iOS CocoaPods自动管理第三方开源库
最近在开发中发现在项目中使用了好多第三方库,然而第三方更新的时候本地却不能及时更新.然而CocoaPods则可以管理第三方依赖包的更新,这些“体力活”会被节省好多时间,下面介绍一下CocoaPods的 ...
- 一个苹果证书怎么多次使用(授权Mac开发)——导出p12文件
为什么要导出.p12文件 当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中 ...
- Clean Code(三):注释
在工作中经常在刚开始写代码的时候,写下类与方法的注释,时间久了,CR多了,也不可能一直去修改注释了.加班都累成dog.注释才不改呢,就是这么任性,哈哈. 项目久了,注释会欺骗阅读者,本人被骗过,也骗过 ...
- 20151221jqueryUI---日历UI代码备份
$(function () { $('#search_button').button({ icons : { primary : 'ui-icon-search', }, }); $('#reg'). ...