COOKIE
存
document.cookie = “str”;
存cookie的可选参数
path=“cookie存放路径”
expires= cookie过期时间
例
var date = new Date();
date.setDate(date.getDate() + 2);
document.cookie = "name=zhangsan;expires="+date;
取
var cookie = document.cookie;
删
将expires设为过去的时间,即setDate(date.getDate()-1);
注1存取cooki均为字符串形式
注2存取中文cookie时需要进行编码解码,encodeURIComponent为编码,decodeURIComponent为解码
cookie封装函数
/* cookie的操作(存取)
* @param key string 存取的key值
* @param [value] string 如果传入value,那么就是存cookie,不传就是取cookie
* @paran [option] object {expires, path}
* @return string 取cookie的时候返回的当前cookie的值
*/
cookie : function (key, value, option) {
if(value === undefined){
// 取cookie
var cookie = document.cookie;
var arr = cookie.split("; ");
var obj = {};
arr.forEach(function(ele){
var subarr = ele.split("=");
obj[subarr[0]] = decodeURIComponent(subarr[1]);
})
// 判断
return obj[key] ? obj[key] : "";
/* if(obj[key]){
return obj[key];
}else {
return "";
} */
}else{
//存
var str = key+"="+encodeURIComponent(value);
if(option){
// path
if(option.path){
str += ";path="+option.path;
}
if(option.expires) {
var date = new Date();
// 把过期日期设置为option.expires天之后
date.setDate(date.getDate() + option.expires);
str += ";expires=" + date;
}
}
document.cookie = str;
}
},
localStorage
存
localStorage.setItem(“key”,“value”);以key为名称存储一个值value
注localStorage可以直接存数组、值等,但不能正常存取对象,需要转码
取
localStorage.getItem(“key”);获取名称为key的值
删
localStorage.removeItem(“key”);删除名为key的信息
清空
localStorage.clear();清空localStorage中所有信息
存取Json对象
JSON.stringify将json对象或数组转化为字符串
JSON.parse将字符串转化为类数组对象
sessionStorage
使用方法同localStorage