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三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言.而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知 ...
随机推荐
- 用Regex类计算一个字符串出现次数是最好方法【转载】
我的一个朋友问我,怎么在c#或vb.net中,计算一个字符串中查找另一个字符串中出现的次数,他说在网上打了好多方法,我看了一下,有的是用replace的方法去实现,这种方法不是太好,占资源太大了.其实 ...
- lucene创建索引简单示例
利用空闲时间写了一个使用lucene创建索引简单示例, 1.使用maven创建的项目 2.需要用到的jar如下: 废话不多说,直接贴代码如下: 1.创建索引的类(HelloLucene): packa ...
- PHP获取当前url路径的函数及服务器变量
$_SERVER["QUERY_STRING"],$_SERVER["REQUEST_URI"],$_SERVER["SCRIPT_NAME" ...
- vs目录(继承的值)配置
突然间,想在vs中添加自己的目录,这样以后再新建项目后,就不用再麻烦的手动添加了,比如让新建的项目都继承我的目录D:\MyInc. 事例:让新建的工程包含的目录中自动继承目录D:\MyInc 修改它的 ...
- Android开发之”再按一次退出程序“的实现
现在移动客户端退出程序对话框退出越来越不流行了,都开始使用连续按两次来退出,即著名的“再按一次退出程序”模式.现在就看看怎么实现的吧. @SuppressLint("HandlerLeak& ...
- 安装tensorflow
官网:http://tensorflow.org/安装步骤:1.sudo apt-get install python-pip python-dev python-virtualenv 3 co ...
- Mac通过以太网共享网络
在日常工作和学习中,需要WiFi热点而没有路由器,这个时候我们可以用我们工作的Mac来共享网络. 系统偏好设置->共享->互联网共享:设置共享来源和共享端口->WiFi选项:设置网络 ...
- Android_Intent_note
Activity间传递参数的方法方法1. 通过putExtra()传递基本数据类型方法2. 通过putExtras()传递Bundle数据类型方法3. 通过Application读写全局变量 方法4. ...
- [Form Builder]内置函数execute_trigger、do_key详解
转:http://yedward.net/?id=82 1.execute_trigger:用来运行一个指定的触发器,常用来运行用户自定义的触发器. 语法:procedure execute_trig ...
- linux部署tomcat
安装说明 安装环境:CentOS-6.5安装方式:源码安装 软件:apache-tomcat-6.0.45.tar.gz下载地址:http://tomcat.apache.org/download-6 ...