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三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知 ...
随机推荐
- 【JAVA - 基础】之Annotation注解浅析
注解在JAVA中,尤其是一些ORM框架(如Hibernate等)中是比较常用的一种机制. 注解是JAVA 1.5之后引入的新功能,正确来说是反射的一部分,没有反射,注解也就无法正常使用.注解可以理解成 ...
- [GIF] GIF Loop Coder - Interpolation
This video discusses the default interpolation in GIF Loop Coder, and four distinct ways to change t ...
- Redis学习手册(Hashes数据类型)
一.概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Ag ...
- Android中FTP服务器、客户端搭建以及SwiFTP、ftp4j介绍
本文主要内容: 1.FTP服务端部署---- 基于Android中SwiFTP开源软件介绍: 2.FTP客户端部署 --- 基于ftp4j开源jar包的客户端开发 : 3.使用步骤 --- 如何测试我 ...
- jdk安装 java运行编译(不含语法)
一.开发的准备 1.jdk的安装(window) (1)根据自己的电脑下载对应的jdk,并安装 (推荐安装在没有中文的目录中). 网站 http://www.oracle.com/technetwor ...
- yum在线升级
RPM优点 由於 RPM 是透过预先编译并打包成为 RPM 文件格式后,再加以安装的一种方式,并且还能够进行数据库的记载. 所以 RPM 有以下的优点: RPM 内含已经编译过的程序与配置档等数据,可 ...
- Linux C —— 多线程
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/5769417. ...
- 安卓项目-利用Sqlite数据库,开发新闻发布系统
本教程致力于程序员可以快速的学习安卓移动端手机开发. 适合于已经习得一种编程语言的同仁. 更多志同道合,想要学习更多编程技术的大神们. 小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮. 本文章是基 ...
- ThinkPHP函数详解:N方法
N方法属于计数器方法,被用于核心的查询.缓存统计的计数和统计.但是其实可以用于应用的其他计数用途,用法比较简单,调用格式:N('计数位置'[,'步进值'])例如,我们要统计页面中的查询次数,可以用 N ...
- jQuery中的html,val,text区别
在项目开发中,写jQuery代码有时候会搞混淆一下东西,现在写一下demo来列出jQuery的.html(),.text(),.val()的区别. 1. html()取得第一个匹配元素的内容,简单来说 ...