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



 



    兼容性



 



   http://caniuse.com/#search=localstorage