闽公网安备 35020302035485号
我们在做系统时,有时会使用localStorage来存储一些数据。特别是用来存储一些需要比较长久保留的数据(无自动过期时间),今天我们就来封装一个localStorage方法,以实现数据的快速存储,删除,读取等操作。
具体代码如下:
var CL_LocalStorage = ((function() {
var currentLocalKey = "__CLKZB__STORAGE__KEY__";
var currentLocal = localStorage.getItem(currentLocalKey);
var currentLocalObject;
if (currentLocal === null) {
currentLocalObject = {};
} else {
currentLocalObject = JSON.parse(currentLocal);
}
return {
getRawObj: function() {
return currentLocalObject;
},
/**
* 获取元素
* @param key 要获取的值的key
* @param defaultValue 若不存在相应的key,则应该返回的默认值,默认为undefined
*/
getItem: function(key, defaultValue) {
if (defaultValue === void 0) {
defaultValue = undefined;
}
var value = currentLocalObject[key];
if (value) {
return value;
} else {
return defaultValue;
}
},
/**
* 设置元素
* @param key 要设置的key
* @param value 要设置的值内容
*/
setItem: function(key, value) {
currentLocalObject[key] = value;
},
/**
* 保存数据到localStorage
*/
save: function() {
localStorage.setItem(currentLocalKey, JSON.stringify(currentLocalObject));
},
/**
* 移除元素
* @param key 要移除的key
*/
removeItem: function(key) {
currentLocalObject[key];
},
/**
* 清空元素
*/
clear: function() {
currentLocalObject = {};
}
};
})());