我们在做系统时,有时会使用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 = {}; } }; })());