localStorage
解决了cookie存储空间不足的问题,localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同,类型只能是字符串。
1.存储
//写入a字段
storage["a"]=1;
//写入b字段
storage.a=1;
//写入c字段
storage.setItem("c",3);
2.读取
//第一种方法读取
var a=storage.a;
console.log(a);
//第二种方法读取
var b=storage["b"];
console.log(b);
//第三种方法读取
var c=storage.getItem("c");
console.log(c);
3.删除
//单个清除
storage.removeItem("a");
//全部清除
storage.clear();
cookie
cookie是一个个键值对(“键=值”的形式)加上分号空格隔开组合而成,大小为4kb
1.设置cookie
/**
* 设置cookie
* @param name cookie的名称
* @param value cookie的值
* @param day cookie的过期时间
*/
var setCookie = function (name, value, day) {
if(day !== 0){ //当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
var expires = day * 24 * 60 * 60 * 1000;
var date = new Date(+new Date()+expires);
document.cookie = name + "=" + escape(value) + ";expires=" + date.toUTCString();
}else{
document.cookie = name + "=" + escape(value);
}
};
//使用
setCookie(a,3,12)
2.读取
/**
* 获取对应名称的cookie
* @param name cookie的名称
* @returns {null} 不存在时,返回null
*/
var getCookie = function (name) {
var arr;
var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
};
//使用
getCookie(a)
3.删除
/**
* 删除cookie
* @param name cookie的名称
*/
var delCookie = function (name) {
setCookie(name, ' ', -1);
};