localStorage概要

  在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。

localStorage的读取

 1 if(!window.localStorage){
 2             alert("浏览器支持localstorage");
 3         }else{
 4             var storage=window.localStorage;
 5             //写入a字段
 6             storage["a"]=1;
 7             //写入b字段
 8             storage.a=1;
 9             //写入c字段
10             storage.setItem("c",3);
11             console.log(typeof storage["a"]);
12             console.log(typeof storage["b"]);
13             console.log(typeof storage["c"]);
14             //第一种方法读取
15             var a=storage.a;
16             console.log(a);
17             //第二种方法读取
18             var b=storage["b"];
19             console.log(b);
20             //第三种方法读取
21             var c=storage.getItem("c");
22             console.log(c);
23         }
View Code

localStorage的删除

  1. localStorage的所有内容清除

var storage=window.localStorage;
            storage.a=1;
            storage.setItem("c",3);
            console.log(storage);
            storage.clear();
            console.log(storage);
View Code

  2. localStorage中的某个键值对删除

var storage=window.localStorage;
            storage.a=1;
            storage.setItem("c",3);
            console.log(storage);
            storage.removeItem("a");
            console.log(storage.a);
View Code

localStorage的键获取

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);
            }
View Code

补充

  一般我们会将JSON存入localStorage中,但是在localStorage会自动将localStorage转换成为字符串形式,这个时候我们可以使用JSON.stringify()这个方法,来将JSON转换成为JSON字符串,读取之后要将JSON字符串转换成为JSON对象,使用JSON.parse()方法

  localStorage.setItem 只能存储字符串,所以在储存的时候先将对象转换为字符串 localStorage.setItem("localKey", JSON.stringify(this.cartGroup))然后再将字符串转换为对象

方法1: JSON.parse(localStorage.getItem("localKey")

方法2: eval("("+localStorage.getItem("localKey")+")")

 

posted @ 2021-10-13 17:29  喵师傅  阅读(53)  评论(0编辑  收藏  举报