localStorage使用总结

1、什么是localStorage、sessionStorage前端

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

2、localStorage的优点与局限json

localStorage的优点浏览器

一、localStorage拓展了cookie的4K限制cookie

二、localStorage会能够将第一次请求的数据直接存储到本地,这个至关于一个5M大小的针对于前端页面的数据库,相比于cookie能够节约带宽,可是这个倒是只有在高版本的浏览器中才支持的session

localStorage的局限spa

一、浏览器的大小不统一,而且在IE8以上的IE版本才支持localStorage这个属性localstorage

二、目前全部的浏览器中都会把localStorage的值类型限定为string类型,这个在对咱们平常比较常见的JSON对象类型须要一些转换对象

三、localStorage在浏览器的隐私模式下面是不可读取的内存

四、localStorage本质上是对字符串的读取,若是存储内容多的话会消耗内存空间,会致使页面变卡

五、localStorage不能被爬虫抓取到

localStorage与sessionStorage的惟一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空

3、localStorage的使用

首先在使用localStorage的时候,咱们须要判断浏览器是否支持localStorage这个属性

if(!window.localStorage){

 alert("浏览器不支持localstorage");

 return false;

}else{

 //主逻辑业务

 

}

localStorage的写入,localStorage的写入有三种方法,这里就一一介绍一下

        if(!window.localStorage){

            alert("浏览器支持localstorage");

            return false;

        }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"]);

        }

if(!window.localStorage){

            alert("浏览器支持localstorage");

            return false;

        }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"]);

        }

if(!window.localStorage){

            alert("浏览器支持localstorage");

            return false;

        }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"]);

        }

localStorage只支持string类型的存储。

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);

        }

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的删除

一、将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.removeItem("a");

            console.log(storage.a);

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);

            }

4、localStorage其余注意事项

通常咱们会将JSON存入localStorage中,可是在localStorage会自动将localStorage转换成为字符串形式

 

这个时候咱们可使用JSON.stringify()这个方法,来将JSON转换成为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);

相关文章
相关标签/搜索