首先使用localStorage的时候,咱们须要判断浏览器是否支持localStorage这个属性。json
if(!window.localStorage){ alert("浏览器支持localstorage"); return false; }else{ //主逻辑业务 }
localStorage的写法有三种方法,分别是:数组
if(!window.localStorage) { alert("浏览器不支持localStorage"); }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的使用也是遵循同源策略,不一样的网站是不能直接共用相同的localStorage的网站
最后在控制台上面打印出来的结果是:3d
不知道各位读者有没有注意到,刚刚存储进去的是int类型,可是打印出来倒是string类型,这个与localStorage自己的特色有关,localStorage只支持string类型的存储。localstorage
locaStorage的读取对象
if(!window.localStorage){ alert("浏览器不支持localStorage"); }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"]); // 第一种读取方法 var a = storage.a; console.log(a); // 第二种读取方法 var b = storage["b"]; console.log(b); // 第三种读取方法 var c = storage.getItem("c");//官方推荐使用 console.log(c); }
localStorage的删、改这两个步骤blog
改的方法其实很简单,至关于直接赋值索引
if(!window.localStorage){ alert("浏览器不支持localStorage"); }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"]);*/ // 至关于直接赋值 storage.a = 4; console.log(storage.a); // 4 }
删除的方法有两种状况,rem
1.将localStorage的全部内容清楚
var storage = window.localStorage; storage.a = 1; storage.setItem("c",3); console.log(storage);//Storage {a: "1", c: "3", length: 2} storage.clear();//删除方法 console.log(storage);//Storage {length: 0}
2.将localStorage中的某个键值对删除
var storage = window.localStorage; storage.a = 1; storage.setItem("c",3); console.log(storage);//Storage {a: "1", c: "3", length: 2} storage.removeItem("a");//删除方法 console.log(storage);//Storage {c: "3", length: 1}
loaclStorage的键获取
使用key()方法,向storage的数组中经过索引获取键值对的值
var storage = window.localStorage; storage.a = 1; storage.setItem("c",3); for(var i=0;i<storage.length;i++){ var key = storage.key(i); console.log(key); }
4、loaclStorage的类型转化事项
通常咱们会将JSON存入localStorage中,可是在localStorage会自动将其转换成string类型
使用JSON.stringify()方法将JSON转换为JSON字符串
if(!window.localStorage){ alert("浏览器不支持localStorage"); }else{ var storage = window.localStorage; var data = { username:"lisi", password:"123456" }; // JSON转化为字符串 var b = JSON.stringify(data); // 写入到localStorage中 storage.setItem("data",b); console.log(storage.data); }
使用JSON.parseIn()方法,将读取以后的JSON字符串转化成JSON对象的形式
if(!window.localStorage){ alert("浏览器不支持localStorage"); }else{ var storage = window.localStorage; var data = { username:"lisi", password:"123456" }; // JSON转化为字符串 var b = JSON.stringify(data); // 写入到localStorage中 storage.setItem("data",b); console.log(storage.data); // 将JSON字符串转化成JSON对象 var json = storage.getItem("data"); var jsonObj = JSON.parse(json); console.log(typeof jsonObj); }