sessionStorage 和 sessionStorage 是 HTML5 新增的两个特性,这两个特性主要是用来做为会话存储和本地存储来使用的,解决了 cookie 存储空间不足的问题;chrome
sessionStorage 属性容许你访问一个 session Storage 对象,用于存储当前会话的数据,存储在 sessionStorage 里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,而且从新加载或恢复页面仍会保持原来的页面会话。json
localStorage 属性容许你访问一个 Document 源(origin)的对象 Storage 用于存储当前源的数据,除非用户人为清除(调用 localStorage api 或则清除浏览器数据), 不然存储在 localStorage 的数据将被长期保留。api
localStorage 存储的数据是永久性的,除非用户人为删除不然会一直存在(调用 localStorage api 或则清除浏览器数据)。跨域
sessionStorage 存储的数据在当前会话结束时会被清除,一旦窗口或者标签页被关闭,那么全部经过 sessionStorage 存储的数据也会被删除。浏览器
localStorage: 在同一个浏览器内,同源文档之间共享 localStorage 数据,能够互相读取、覆盖、清除(同浏览器限制、同源限制)服务器
sessionStorage: 与 localStorage 同样须要同一浏览器同源文档这一条件。除此以外 sessionStorage 的做用域还被限定在了窗口中,也就是说,只有同一浏览器、同一窗口的同源文档才能共享数据(同浏览器限制、同源限制、同标签页限制)cookie
sessionStorage localStorage 在操做上没什么区别,下面以 sessionStorage 为例:session
sessionStorage.setItem('name', 'qianyin');
sessionStorage.setItem('name', 'linheng');
sessionStorage.setItem('user1', {name: 'qianyin'});
sessionStorage.setItem('user2', JSON.stringify({name: 'qianyin'}));
复制代码
sessionStorage.name = 'qianyin';
sessionStorage.name = 'linheng';
sessionStorage.user1 = {name: 'qianyin'};
sessionStorage.user2 = JSON.stringify({name: 'qianyin'})
复制代码
sessionStorage.getItem('user')
复制代码
sessionStorage.user
复制代码
// 经过 getItem('legnth') 返回的结果为 null, 只能经过对象形式获取 length 值
sessionStorage.length
复制代码
sessionStorage.removeItem('user');
复制代码
delete sessionStorage.user
复制代码
sessionStorage.clear();
复制代码