Web存储——sessionStorage与localStorage

来源:互联网 发布:剑桥大学研究生 知乎 编辑:程序博客网 时间:2024/06/02 07:31

sessionStorage与localStorage

1. sessionStorage与localStorage的兼容性及其特点

1.1 兼容性

localStorage兼容性
这里写图片描述

看起来不错啊 IE8+ 以及大多数浏览器都支持。那就放心用吧!
具体还是大家自己查一查吧!

1.2 特点

sessionStorage与localStorage特点:

  1. 默认支持的容量为一个站 5M。

  2. 以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存储可以保存用户的一些习惯动作 和 数据存储。个人十分喜爱使用它。真心方便!当然数据存在本地还是有安全性问题的。

1 0
原创粉丝点击