简述一下HTML5的本地存储方法?存、取、删除、清除数据对应的API是什么?

Web 存储
随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,传统方式我们以document.cookie来进行存储的,但是由于其存储大小只有4k左右,并且解析也相当的复杂,给开发带来诸多不便,HTML5规范则提出解决方案。Web Storage(sessionStorage和localStorage)

Web 存储的特性
(1)设置、读取方便。
(2)容量较大,sessionStorage 约5M、localStorage 约20M。
(3)只能存储字符串,可以将对象 JSON.stringify() 编码后存储。

H5 中有两种存储方式:
1、window.sessionStorage 会话存储:

保存在内存中。
生命周期为关闭浏览器窗口。也就是说,当窗口关闭时数据销毁。
在同一个窗口下数据可以共享。

2、window.localStorage 本地存储:

有可能保存在浏览器内存里,有可能在硬盘里。
永久生效,除非手动删除(比如清理垃圾的时候)。
可以多窗口共享。

区别:
sessionStorage将数据保存在session中,浏览器关闭也就没了;而localStorage则一直将数据保存在客户端本地,除非主动删除数据,否则数据是永远不会过期的;

不管是sessionStorage,还是localStorage,可使用的API都相同,常用的有如下几个方法:

保存数据:localStorage.setItem( key, value );
		 sessionStorage.setItem( key, value );
读取数据:localStorage.getItem( key ); 
		sessionStorage.getItem( key );
删除单个数据:localStorage.removeItem( key ); 
			sessionStorage.removeItem( key );
清除所有数据:localStorage.clear( );
			sessionStorage.clear( );

得到某个索引的key:localStorage.key( index ); sessionStorage.key( index );两个都有属性 length 表示key 的个数,也即 key 长度:

var keyLength1 = localStorage.length;
 var keyLength2 = sessionStorage.length;

如上,key 和 value 都必须为字符串,换言之,web Storage的API只能操作字符串。
web storage的浏览器支持情况的判断:
在使用web storage时首先判断是否支持该功能,有些版本浏览器不支持(如IE7及之前的版本不支持),只有支持才可以使用,判断方法如下:

常见 API
设置存储内容:

setItem(key, value);

PS:可以新增一个 item,也可以更新一个 item。
读取存储内容:

getItem(key);

根据键,删除存储内容:

removeItem(key);

清空所有存储内容:

clear();

根据索引值来获取存储内容:

key(n);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值