JavaScript之Cookie

Cookie的应用

Cookie 是一些数据, 存储于你电脑上的文本文件中。

当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。

Cookie 的作用就是用于解决 “如何记录客户端的用户信息”:

当用户访问 web 页面时,他的名字可以记录在 cookie 中。
在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。
(注意:当使用不同的域名打开同一个网站时,虽然网站相同,但是域名不同,所以需要两套cookie机制;只有在同一个域名下,同一个浏览器的时候,cookie才是可以共享的。)

Cookie的实际使用

储存cookie的格式要求:名字=值

// An highlighted block
<script type="type/javascript>
	document.cookie='username=Tom';
	alert(document.cookie)
	// 注意:当使用等号的时候是添加;没有的时候是查看全部信息。
	// 但是当cookie中有该名字的内容时,再使用等号就是修改。
</script>
同一个网站中所有页面共享一套cookie。一般在储存cookie后,其有效期只有在浏览器打开这个期间,如果关掉浏览器再打开后就会过期。
如果是chrome的话,会直接删除,这就是cookie的【过期时间】的特性(默认情况下浏览器关闭以后过期)。

设置信息过期时间
(涉及的相关知识)
获取当前时间,并且当给时间加减时间时,它会自己转换成对应的时间。(比如当前3月31号,当给日期增加1后,其时间就会变成4月1号)

// An highlighted block
 var myD = new Date();
 myD.setDate(myD.getDate()+8);
 console.log(myD.getFullYear());
 console.log(myD.getMonth()+1);//月是从0开始的
 console.log(myD.getDate());

重点(敲黑板!!!)

封装函数一:
功能:可以添加、删除、修改cookie中的内容

// An highlighted block
   function setCookie(key,value,expires) {
       var myD = new Date();
       myD.setDate(myD.getDate()+expires);
       document.cookie=key+'='+value+';expires='+myD;
   }
   //参数说明:
   //key:cookie的名字;
   //value:cookie的值;
   //expires:数据的有效期(这里是按照天计算的,如果有特殊的需求,把函数中的第二行自行修改一下即可)
   //例如:setCookie('mm','456',1);
   //cookie中的数据:mm=456     (其有效期为1天)

封装函数二:
功能:获取cookie中的一个内容,如果有就返回其值,没有返回null

// An highlighted block
    function getCookie(key) {
        allCookie = document.cookie;
        //注意:全部取出的数据是一个以';'分割的字符串,如:isRemember=admin; isLogin=true
        allCookieArr =document.cookie.split('; ');
        //使用split将字符串分割成一个数组,每个元素是一个带等号的字符串
        //console.log(allCookieArr);查看分割后的内容
        for(var i =0;i<allCookieArr.length;i++){
        //循环数组,将字符串以’=’分开,得到一个新的数组,第一个是名字,第二个就是值
            var arr2 = allCookieArr[i].split('=');
            console.log(arr2);
            if (arr2[0] == key){
                return arr2[1];
            }
        }
        return null;
    }
    //例如:
    ret=getCookie('mm');
    if(ret==null){
        console.log('Cookie中没有mm');
    }
    else {
        console.log('Cookie中有mm,值为:'+ret);
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值