1.在以前的开发中,只是知道localStorage,这个HTML5新增的可以作为小型数据库使用的localStorage,替我们省了不少力气;
2.据我知道的localStorage最大的特性就是只支持String类型的数据的存储,不管你是以何种类型存储的,存储进去后都会被转化成Strng类型的字符串存储到这个我理解为小型数据库的东东;
3.数到数据库我们都知道,最常用的无非就是增删改查,当然localStorage也不列外,他已具备最基本的增删改查
4.由于localStorage是HTML5的特性,这就要求了他会对浏览器有所限制,建议使用最高版本的浏览器;
5.localStorage和sessionStorage的区别就是localStorage是本地存储属于永久性储存,而sessionStorage在当前回话结束的时候,他的键值对或者数据就会被清空;
6.在网上查看对一些浏览器的版本的支持:
7.我们在使用localStorage 的时候可以为避免出错,可以判断浏览器是否为支持localStorag的使用:
if(window.localStorage){//主要的业务代码}else{alert("这个浏览器不支持localStorage");} |
localStorage的写入,大概有三种方法:
if(!window.localStorage){ alert("浏览器不支持localstorage"); return false; }else{ var storage=window.localStorage; //写入a字段 storage["a"] = 1; //写入b字段 storage.b = 2; //写入c字段 storage.setItem("c",3); console.log(typeof storage["a"]); console.log(typeof storage["b"]); console.log(typeof storage["c"]); } |
localStorage的读取:
if(!window.localStorage){ alert("浏览器不支持localstorage"); }else{ var storage=window.localStorage; //写入a字段 storage["a"]=1; //写入b字段 storage.a=1; //写入c字段 storage.setItem("c",3); console.log(typeof storage["a"]); console.log(typeof storage["b"]); console.log(typeof storage["c"]); //第一种方法读取 var a=storage.a; console.log(a); //第二种方法读取 var b=storage["b"]; console.log(b); //第三种方法读取 var c=storage.getItem("c"); console.log(c); } |
官方推荐setItem和getItem来写入和读取;
localStorage的改(相当于为变量重新赋值):
if(!window.localStorage){ alert("浏览器不支持localstorage"); }else{ var storage=window.localStorage; //写入a字段 storage["a"]=1; //写入b字段 storage.b=1; //写入c字段 storage.setItem("c",3); console.log(storage.a); // console.log(typeof storage["a"]); // console.log(typeof storage["b"]); // console.log(typeof storage["c"]); /*分割线*/ storage.a=4; console.log(storage.a); } |
localStorage的全部清除:
var storage=window.localStorage; storage.a=1; storage.setItem("c",3); console.log(storage); storage.clear(); console.log(storage); |
localStorage 清除某一个键:
var storage=window.localStorage; storage.a=1; storage.setItem("c",3); console.log(storage); storage.clear(); console.log(storage); |
localStorage的键的获取:
var storage=window.localStorage; storage.a=1; storage.setItem("c",3); for(var i=0;i<storage.length;i++){ //key()方法,向其中输入索引就可得到对应的值 var key=storage.key(i); console.log(key); } |
8.localStorage中存入 json 字符串:
if(!window.localStorage){ alert("浏览器不支持localstorage"); }else{ var storage=window.localStorage; var data={ name:'xiecanyong', sex:'man', hobby:'program' }; var d=JSON.stringify(data); storage.setItem("data",d); console.log(storage.data); } |
读取之后要将JSON字符串转换成为JSON对象,使用JSON.parse()方法
var storage=window.localStorage; var data={ name:'xiecanyong', sex:'man', hobby:'program' }; var d=JSON.stringify(data); storage.setItem("data",d); //将JSON字符串转换成为JSON对象输出 var json=storage.getItem("data"); var jsonObj=JSON.parse(json); console.log(typeof jsonObj); |