关于localstorage的本地缓存以及封装

保存数据:localStorage.setItem(key,value); 
读取数据:localStorage.getItem(key);
删除单个数据:localStorage.removeItem(key);
删除所有数据:localStorage.clear();
得到某个索引的key:localStorage.key(index);
key和value都必须为字符串,web Storage的API只能操作字符串。



localStorage.setItem("缓存数据名字", "缓存的字符串") //alert(localStorage.getItem("缓存数据名字")) var obj = { "name": "我的名字", "age": "18", } var jsonobj = JSON.stringify(obj) // 对象转化字符串 序列化 localStorage.setItem("locobj", jsonobj); var newobj = JSON.parse(localStorage.getItem("locobj")); // 字符串转对象 反序列化 alert(newobj.name); // 序列化对象 然后存储(localStorage.setItem)
// 反序列化对象并放到新的变量中(var newobj = JSON.parse(localStorage.getItem("locobj"))) 然后使用

   ///////////////方法的封装/////////////////

//设置或跟新本地存储数据 function Set_lsdata(data_id, data) { if (data_id != "") { if (data) { var lsobj = window.localStorage; var datajson = JSON.stringify(data); lsobj.setItem(data_id, datajson); } } } //获取本地存储数据 function Get_lsdata(data_id) { if (data_id != "") { var data = null; var lsdata = window.localStorage; try { var datajson = lsdata.getItem(data_id); datajson = JSON.parse(datajson); data = datajson; } catch (e) { } finally { return data; } } }
//封装方法的使用
    var obj = {
        "name": "我的名字",
        "age": "18",
    }
 Set_lsdata("ccc", obj);  //存储对象并起名字   存储和拿数据的时候 key值必须加双引号

var aaa = Get_lsdata("ccc"); //通过名字拿到存储的数据

//alert(aaa.name); 使用数据

 

posted on 2017-05-12 02:37  水好凉  阅读(1923)  评论(0编辑  收藏  举报

导航