sessionStorage与localStorage
1. sessionStorage与localStorage的兼容性及其特点
1.1 兼容性
localStorage兼容性
看起来不错啊 IE8+ 以及大多数浏览器都支持。那就放心用吧!
具体还是大家自己查一查吧!
1.2 特点
sessionStorage与localStorage特点:
默认支持的容量为一个站 5M。
以key-value形式保存数据的,key和value只能是字符串格式。
两者相同之处:
都拥有setItem,getItem,removeItem,clear等方法
两者的区别:
sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。
localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
2. sessionStorage与localStorage的使用方法
2.1 存储操作
//定义一个命名空间
var storage = {};
//将一个对象转化为JSON字符串 存储
storage.setData = function(key,data){
var _str = JSON.stringify(data);
console.log(_str);
sessionStorage.setItem(key,_str);
};
2.2 读取操作
//将JSON字符串转化为对象 读取
storage.getData = function(key){
var _data;
_data = JSON.parse(sessionStorage.getItem(key));
//_data = $.parseJSON(sessionStorage.getItem(key));
//_data = eval(sessionStorage.getItem(key)); //未知错误Uncaught SyntaxError: Unexpected token : 请大牛解答
console.log(_data);
return _data;
};
2.3 移除操作
storage.removeData = function(key){
sessionStorage.removeItem(key);
console.log('SessionStorage Remove Success.');
};
2.4 补充
localSrorage的操作也是如此
需要注意的是:
sessionStorage 与 localStorage 只能以字符串的形式存储。所以需要将对象进行格式转化 。 这里的知识点有 JSON.stringify() ,JSON.parse()等,如果需要兼容IE的低版本,还要下载json.js 。这块以后会专门理解一下 JSON字符串与JSON对象的转换!
其他的小技巧:
storage.s = window.localStorage;
storage.s.key1 = 'hello';
storage.s['key2'] = 'world';
这样的写法也是OK的。大家可以试一试。
3.总结
Storage存储可以保存用户的一些习惯动作 和 数据存储。个人十分喜爱使用它。真心方便!当然数据存在本地还是有安全性问题的。