封装localStorage

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;
        }
    }
}

你可能感兴趣的:(封装localStorage)