欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

封装localStorage(常用函数)

程序员文章站 2022-08-04 11:36:48
localStorage的常用函数: setItem(key, value);//设置值 getItem(key);//获取值 removeItem(key);//删除指...

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