localStorage 的优势
- localStorage 拓展了 cookie 的 4K 限制。
- localStorage 会可以将第一次请求的数据直接存储到本地,这个相当于一个 5M 大小的针对于前端页面的数据库,相比于 cookie 可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的。
localStorage 的局限
- 浏览器的大小不统一,并且在 IE8 以上的 IE 版本才支持 localStorage 这个属性。
- 目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换。
- localStorage在浏览器的隐私模式下面是不可读取的。
- localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡。
- localStorage不能被爬虫抓取到。
localStorage 与 sessionStorage 区别
localStorage 与 sessionStorage 的唯一一点区别就是 localStorage 属于永久性存储,而 sessionStorage 属于当会话结束的时候,sessionStorage 中的键值对会被清空。
localStorage 作用域
localStorage
只要在相同的协议、相同的主机名、相同的端口下,就能读取/修改到同一份localStorage
数据。
- 由于域名不同,不能进行共享。
- 二个
webview
相当于同一个浏览器的不同标签页。所以可以共享。
写入方法:
localStorage.setItem('item1', 'C#') localStorage['item2'] = 'Java' localStorage.item3 = 'PHP'
读取方法:
localStorage.getItem('item1') localStorage["item2"] localStorage.item3
清除某个元素:
localStorage.removeItem('item1')
清除所有元素:
localStorage.clear()
获取某个位置对应的键值:
localStorage.key(0)
参考: