对localStorage进行封装:

 var LocalStorageUtils = new function (){
if(window.localStorage==null){
throw new Error('当前浏览器不支持本地存储!');
};
var _storage = window.localStorage;
/**
* 设置(添加,修改)本地存储项
* @param {*} key
* @param {*} value
*/
this.set=function(key,value){
//storage[key]=value;
_storage.setItem(key,value);
},
/**
* 获取本地存储项
* @param {*} key
*/
this.get=function(key){
//return storage[key];
return _storage.getItem(key);
},
/**
* 移除本地存储项
* @param {*} key
*/
this.remove=function(key){
//delete storage[key];
_storage.removeItem(key);
},
/**
* 清空本地存储项
*/
this.clear= function(){
_storage.clear();
},
/**
* 获取本地存储项所有的key
*/
this.keys=function(){
var allKeys = [];
for(var i=0;i<_storage.length;i++){
allKeys.push(_storage.key(i));
}
return allKeys;
},
/**
* 获取本地存储项条数
*/
this.length = function(){
return _storage.length;
},
/**
* 设置(添加,修改)本地JSONObj存储项
* @param {*} key
* @param {*} value
*/
this.setJSONObj=function(key,value){
this.set(key,JSON.stringify(value));
},
/**
* 获取本地JSONObj存储项
* @param {*} key
*/
this.getJSONObj= function(key){
return JSON.parse(this.get(key));
}
}();

LocalStorageUtils的更多相关文章

随机推荐

  1. Linux下的sleep()和sched_yield()(转)

    阿里四面被问到了这个问题,一脸懵逼,下来也没找到什么阐述这个的文章,就自己查man来对比总结一下吧: sched_yield()的man手册描述如下: DESCRIPTION       sched_ ...

  2. HTML5中的Web Worker技术

    为了让后台程序更好的执行,在HTML5中设计了Web Worker技术.Web Worker的产生主要是考虑到在HTML4中JavaScript Web程序都是以单线程的方式执行的,一旦前面的脚本花费 ...

  3. android分渠道打包,监测日活量统计(基于友盟SDK)

    客服说要看App日活,让加个统计功能. (我们技术部已经混到客服部都能直接提需求的地步) 首先接入友盟统计的SDK,在项目外层的build.gradle中添加依赖'https://dl.bintray ...

  4. Kafka高级设计和架构,一文深化理解

    主题: 1.kafka是写磁盘还是写内存? 2.kafka究竟是由 consumer 从 broker 那里拉数据,还是由 broker 将数据推到 consumer? 3.如何区分已消费(consu ...

  5. Delphi根据不同分隔符获取字符串内容

    function GetFieldValue(separator:Char;strLine: string; nNum: Integer): string; var Strs :TStrings; R ...

  6. 大数据分析常用去重算法分析『Bitmap 篇』

    大数据分析常用去重算法分析『Bitmap 篇』  mp.weixin.qq.com 去重分析在企业日常分析中的使用频率非常高,如何在大数据场景下快速地进行去重分析一直是一大难点.在近期的 Apache ...

  7. [数据结构 - 第6章] 树之二叉平衡树(C语言实现)

    一.什么是平衡二叉树? 平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两 ...

  8. Retrofit 二次封装实践

    首先感谢这位大神的博客:https://blog.csdn.net/u014569233/article/details/67639522,在他的基础上根据自己项目进行了修改最后成为现在项目使用的样子 ...

  9. QQ联合登录(基于Oauth2.0协议)

    1. 获取授权码Authorization Code https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id= ...

  10. 002 spring boot框架,引入mybatis-generator插件,自动生成Mapper和Entity

    1.创建一个springboot项目 2.创建项目的文件结构以及jdk的版本 3.选择项目所需要的依赖 点击next,直到项目构建完成. 4.项目初步结构 5.POM文件 <?xml versi ...