- 关于前端数据存储
目前只解释有三种:cookie、localStorage、sessionStorage - cookie
解释:只针对当前session(会话)有效,关闭标签页即失效
使用:1 var ckStr = document.cookie;
JS存入cookies
1 //第一种方法 2 var username=document.cookie.split(";")[0].split("=")[1]; 3 4 //第二种方法 5 //写cookies 6 function setCookie(name,value) 7 { 8 var Days = 30; 9 var exp = new Date(); 10 exp.setTime(exp.getTime() + Days*24*60*60*1000); 11 document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 12 }
JS读取cookies
1 function getCookie(name) 2 { 3 var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); 4 if(arr=document.cookie.match(reg)) 5 return unescape(arr[2]); 6 else 7 return null; 8 }
删除cookies
1 function delCookie(name) 2 { 3 var exp = new Date(); 4 exp.setTime(exp.getTime() - 1); 5 var cval=getCookie(name); 6 if(cval!=null) 7 document.cookie= name + "="+cval+";expires="+exp.toGMTString(); 8 }
- localStorage
解释:只针对当前session(会话)有效,关闭标签页即失效
使用:
1 //根据key获取对应的值; 2 window.localStorage.getItem(key); 3 //新增key-value,若key已存在,则更新value; 4 window.localStorage.setItem(key,value); 5 //根据key移除对应的值 6 window.localStorage.removeItem(key); 7 //移除全部key-value 8 window.localStorage.clear(); 9 //根据索引获取对应key 10 window.localStorage.key(index);
- sessionStorage
解释:即使关闭了标签页甚至浏览器,依然存在,下次打开页面时,依然可以直接使用,但是要注意,清除浏览器缓存时,localStorage的内容也会清理掉
使用:1 //根据key获取对应的值; 2 window.sessionStorage.getItem(key); 3 //新增key-value,若key已存在,则更新value; 4 window.sessionStorage.setItem(key,value); 5 //根据key移除对应的值 6 window.sessionStorage.removeItem(key); 7 //移除全部key-value 8 window.sessionStorage.clear(); 9 //根据索引获取对应key 10 window.sessionStorage.key(index);