localStorage方法:
- 存储:localStorage.setItem(key,value)
- 获取:localStorage.getItem(key,value)
- 删除:localStorage.removeItem(key,value)
// Cache
(function (app, _) {// 缓存
function Cache() { }
Cache.prototype.set = function (key, data) {
if(window.localStorage){
if (_.isUndefined(data) || _.isNull(data)) {
localStorage.removeItem(key);
} else {
localStorage[key] = JSON.stringify(data);
}
}else{
alert('浏览器不支持localStorage')
}
}
Cache.prototype.get = function (key) {
if(window.localStorage){
var val = localStorage[key];
if (_.isUndefined(val) || _.isNull(val)) {
return undefined;
}
return JSON.parse(val);
}else{
alert('浏览器不支持localStorage')
}
}
app.cache = new Cache();
})(app, _);
定义app,为全局变量
_.isUndefined为underscore.js插件的方法,如不引入underscore.js可直接去掉_.的方法
set方法:判断是否有设置值 ,如果没有值,则把本地存储的key删除。如果有值,把值对象转换为字符串形式,存储于本地
get方法:获取本地存储key的值,如果没值,返回undefined;如果有值,返回值(把字符串转化为对象)

本文介绍了一种利用JavaScript的localStorage特性实现数据缓存的方法。通过自定义Cache类封装了存储(set)、获取(get)和删除(remove)缓存数据的功能,并且能够适配支持localStorage特性的现代浏览器。
1805

被折叠的 条评论
为什么被折叠?



