localStorage的主要作用是本地存储,它可以将数据按照键值对的方式保存在浏览器中,直到用户或者脚本主动清除数据,否则该数据会一直存在。也就是说,使用了本地存储的数据将被持久化保存。
localStorage与sessionStorage的区别是存储数据的生命周期不同。locaStorage是永久性存储,而sessionStorage的生命周期与会话保持一致,会话结束时数据消失。从硬件方面理解,localStorage的数据是存储在硬盘中的,关闭浏览器时数据仍然在硬盘上,再次打开浏览器仍然可以获取localStorage保存的数据,而 sessionStorage的数据保存在内存中,当浏览器关闭后,内存将被自动清除。
localStorage的优势在于拓展了Cookie的4 KB限制,并且可以将第一次请求的数据直接存储到本地,其容量相当于一个5MB大小的数据库。
localStorage 在使用中也有一些局限,具体如下。
(1)IE浏览器在8以上版本才支持localStorage。
(2)不同浏览器保存的数据量大小不统一。
(3)目前所有的浏览器都会把localStorage的值类型限定为String类型,对于比较常用的JavaScript对象类型需要转换成字符串保存。
(4)localStorage在浏览器的隐私模式下是不可读取的。
(5)localStorage不能被网络爬虫抓取到。localStorage对象提供了一些方法和属性,如表1所示。