【html5】webstorage--localStorage和sessionStorage

1、webstorage

webstorage是本地存储,存储在客户端,包括localStorage和sessionStorage。

2、localStorage

localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。

3、sessionStorage

sessionStorage仅在当前会话下有效,关闭页面或浏览器后被清除。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。源生接口可以接受,亦可再次封装来对Object和Array有更好的支持。

4、使用

不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。这里需要注意的是,页面及标 签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的。

localStorage和sessionStorage使用时使用相同的API:

localStorage.setItem("key","value");//以“key”为名称存储一个值“value”
 
localStorage.getItem("key");//获取名称为“key”的值

localStorage.getItem("abc");//如果获取一个名称不存在的值,返回为null
 
localStorage.removeItem("key");//删除名称为“key”的信息。
 
localStorage.clear();​//清空localStorage中所有信息

sessionStorage的使用

localStorage和sessionStorage的存储数据大小一般都是:5MB
 当用户关闭页面时,sessionStorage被销毁
清除当前域名+端口号 下的 所有SessionStorage数据 (慎用)
        sessionStorage.clear();
相同域名+端口号 在不同浏览器标签之间可以共享SessionStorage信息
如果域名/端口号不同,则无法共享SessionStorage信息
 

sessionStorage.setItem('age',18);//数据存入session   写法1
sessionStorage.age = 18;//数据存入session   写法2
console.log(sessionStorage.getItem('age'));//获取session中的数据   写法1
console.log(sessionStorage.age);//获取session中的数据   写法2
sessionStorage.removeItem('age');//删除session中名为"age"的值

sessionStorage也可存储Json对象:存储时,通过JSON.stringify()将对象转换为文本格式;读取时,通过JSON.parse()将文本转换回对象。(localStorag同样的道理) 

let userEntity = {
    name: 'tom',
    age: 22
};
 
// 存储值:将对象转换为Json字符串
sessionStorage.setItem('user', JSON.stringify(userEntity));
 
// 取值时:把获取到的Json字符串转换回对象
let userJsonStr = sessionStorage.getItem('user');
userEntity = JSON.parse(userJsonStr);
console.log(userEntity.name); // => tom

localStorage的使用

localStorage和sessionStorage的存储数据大小一般都是:5MB
 localStorage永久存在,除非手动销毁
清除当前域名+端口号 下的 所有localStorage数据 (慎用)
        localStorage.clear();
相同域名+端口号 在不同浏览器标签之间可以共享localStorage信息
如果域名/端口号不同,则无法共享localStorage信息
 

localStorage.setItem('age',18);//数据存入localStorage   写法1
localStorage.age = 18;//数据存入localStorage   写法2
console.log(localStorage.getItem('age'));//获取localStorage中的数据   写法1
console.log(localStorage.age);//获取localStorage中的数据   写法2
localStorage.removeItem('age');//删除localStorage中名为"age"的值
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值