cookie的封装与使用

cookie一般使用在用户登录时保存用户的信息,它的内存空间非常小只用有4kb的空间,早期的存贮一般都是用的cookie来存贮数据
关于cookie我们在使用的时候回设置以 秒 小时 天 等不同的时间单位,通过getsec(str) 个方法我们可以传s7 d7 h4 等不同时间单位

var Cookie = {
        setCookie: function(key, val, time) { //设置cookie方法 ,过期日期的时间
            var strsec = getsec(time);
            var exp = new Date();//获取当前时间  
            exp.setTime(exp.getTime() + strsec * 1);
            document.cookie = key + "=" + val + ";expires=" + exp.toGMTString(); //设置cookie 
        },
        getCookie: function(key) { //获取cookie方法  
            /*获取cookie参数*/
            var cookies = document.cookie.replace(/[ ]/g, ""); //获取cookie,并且将获得的cookie格式化,去掉空格字符  
            var arrCookie = cookies.split(";") //将获得的cookie以"分号"为标识 将cookie保存到arrCookie的数组中  
            var tips; //声明变量tips  
            for(var i = 0; i < arrCookie.length; i++) { //使用for循环查找cookie中的tips变量  
                var arr = arrCookie[i].split("="); //将单条cookie用"等号"为标识,将单条cookie保存为arr数组  
                if(key == arr[0]) { //匹配变量名称,其中arr[0]是指的cookie名称,如果该条变量为tips则执行判断语句中的赋值操作  
                    tips = arr[1]; //将cookie的值赋给变量tips  
                    break; //终止for循环遍历  
                }
            }
            return tips;
        },
        deleteCookie: function(key) { //删除cookie方法  
            var date = new Date(); //获取当前时间  
            date.setTime(date.getTime() - 10000); //将date设置为过去的时间  
            document.cookie = key + "=v; expires =" + date.toGMTString(); //设置cookie  
        }
};

function getsec(str) {
    var str1 = str.substring(1, str.length) * 1;
    var str2 = str.substring(0, 1);
    if(str2 == "s") {
        return str1 * 1000;
    } else if(str2 == "h") {
        return str1 * 60 * 60 * 1000;
    } else if(str2 == "d") {
        return str1 * 24 * 60 * 60 * 1000;
    }
}

//调用方法示例:
设置cookie:  Cookie.setCookie("name","sxy",'s6');
获取cookie:  Cookie.getCookie("name");
删除cookie:  Cookie.deleteCookie("name");

//注:在测试的时候,我们在控制台上看cookie如果cookie在过期日期内还存在,记住在cookie上右键点击refresh刷新就可以看到数据消失;



## 本地存贮的用法 ##
    sessionStrage: session即会话的意思,在这里的session是指用户浏览某个网站时,当页面关闭的时候,这个会话就会结束,数据就会消失;   
    localStorage: 将数据保存在客户端硬件设备上,除非自己手动移除数据,否则数据会一直存在页面中。

    localStorage.getItem(key):获取指定key本地存储的值
    localStorage.setItem(key,value):将value存储到key字段
    localStorage.removeItem(key):删除指定key本地存储的值

在使用本地存贮的时候会有兼容的问题:需要考虑浏览器是否支持兼容
    if (window.localStorage) {
        // 针对 localStorage/sessionStorage 的代码
    } else {
        // 抱歉!不支持 Web Storage ..
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值