localStorage作为HTML5的Web Storage的两种存储方式之一。
?
?
- 用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
- 优点:容量大,易用,原生支持
- 缺点:兼容性问题(IE8以下的版本不支持) | 安全性也差,不适用于保存敏感的数据。
1、判断是否支持localStorage
if(window.localStorage){
//支持
}else{
//不支持
}
//或者下面这个
if(typeof window.localStorage == 'undefined'){
//不支持
}
?
2、接口
- localStorage.getItem(key) ? ? ? ? ?------------获取指定key的本地存储的值
- localStorage.setItem(key,value) ?-----------将value存储到key字段中
- localStorage.removeItem(key) ? ?------------删除指定key的本地存储的值
注意:
- ?localStorage存储的值都是字符串类型,如果你要存储json数据,需要转换一下。
- ?localStorage可以存储多达5M的字符串。会存到一个sqlite的文件中。
- ?localStorage在不同的浏览器中存在不一致的返回值等。
?? ? ? ? ? ? ? i. ?使用数字索引或者数字字符串索引在FF下赋值没问题,但是获取值方式报错。
?? ? ? ? ? ? ? ? ? ? localStorage[1] = 'zhangyaochun'
?? ? ? ? ? ? ? ? ? ? localStorage['1'] = 'fe'
?? ? ? ? ? ? ? ii. 调用不存在的索引时候FF返回的是Null其他浏览器都是undefined