由于经常使用到,localstorage,所以自己动手封装一个工具类.
var lhs = {
setItem: function (key, val) {
localStorage.setItem(key, val);
},
addItem: function (key, val) {
localStorage.setItem(key, val);
},
rmItem: function (key) {
if (lhs.isExist(key)) {
localStorage.removeItem(key);
} else {
alert('不存在的key');
}
},
getItem: function (key) {
if (lhs.isExist(key)) {
return localStorage.getItem(key);
} else {
alert('不存在的key');
}
},
isExist: function (key){
var isExist = false, hasKey, value;
if (key == '') {
alert('key不允许为空');
}
//循环 localStorage 所有缓存数据
for(var i = 0; i
hasKey = localStorage.key(i);
value = localStorage.getItem(key);
if(hasKey == key){
isExist = true;
continue;
}
}
return isExist;
},
checkIsSupport: function () {
if (!window.localStorage) {
alert('您的浏览器不支持localStorage缓存');
}
}
};
同理: 对于sessionStorage的操作和localStorage的操作是一样的
var lss = {
setItem: function (key, val) {
sessionStorage.setItem(key, val);
},
addItem: function (key, val) {
sessionStorage.setItem(key, val);
},
getItem: function (key) {
if (lhs.isExist(key)) {
return sessionStorage.getItem(key);
} else {
return false;
}
},isExist: function (key){
var isExist = false, hasKey, value;
if (key == '') {
alert('key不允许为空');
}
//循环 localStorage 所有缓存数据
for(var i = 0; i
hasKey = sessionStorage.key(i);
value = sessionStorage.getItem(key);
if(hasKey == key){
isExist = true;
continue;
}
}
return isExist;
},
checkIsSupport: function () {
if (!window.sessionStorage) {
alert('您的浏览器不支持sessionStorage缓存');
}
}
};
对于两者,可以通过特定情况来使用,localstorage一旦设置除非手动清除,否者,会一直存在是持久化的一个数据存储。而sessionStorage是一个会话级别的数据存储,会随着浏览器的的关闭而消失。
下面的clear都会将两者的数据清除。
sessionStorage.clear(); localStorage.clear();