关于localStorage和sessionStorage

来源:互联网 发布:工程管理曲线图 软件 编辑:程序博客网 时间:2024/06/06 19:41
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);