localStorage的常用函数:
setItem(key, value);//设置值
getItem(key);//获取值
removeItem(key);//删除指定值
clear();//清空所有
key(i);//获取指定位置的值
查看浏览器是否支持localStorage:window.localStorage,可以在浏览器的控制台(F12,console)输入代码,
if(window.localStorage){
console.log('支持');
}else{
console.log('不支持');
}
封装localStorage的设置和获取,如下
var custom_localStorage = {
set : function(key, value){
var item = {
data : value
}
//序列化对象之后变成字符串再来存储
localStorage.setItem(key, JSON.stringify(item));
}
get : function(key){
var val = localStorage.getItem(key);
if(!val) return null;
return JSON.parse(val);//把序列化字符串解析成对象返回
}
}
var __localStorage = {
//添加缓存时间,缓存时间以天计算
set : function(key, value, days){
//判断是否传递参数days
if(typeof(days) == 'undefined'){
var item = {
data : value
};
}else{
var item = {
data : value,
endTime : new Date() . getTime() + days * 24 * 60 * 60 * 1000
};
}
localStorage.setItem(key, JSON.stringify(item));
}
get : function(key){
var val = localStorage.getItem(key);
if(!val) return null;
val = JSON.parse(val);
//判断是否设置过期时间
if(typeof(val.endTime) == 'undefined' || (typeof(val.endTime) != 'undefined' && val.endTime > new Date().getTime())){
return val.data;
}else{
localStorage.removeItem(key);
return null;
}
}
}