继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

cookie,seesionStorage,localStorage的理解

qq_安之虚静于幻_0
关注TA
已关注
手记 51
粉丝 8
获赞 87

cookie
设置cookie

/**
     * 设置cookie
     * @param name cookie的名称
     * @param value cookie的值
     * @param day cookie的过期时间
     */
    var setCookie = function (name, value, day) {
      if(day !== 0){     //当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
        var expires = day * 24 * 60 * 60 * 1000;
        var date = new Date(+new Date()+expires);
        document.cookie = name + "=" + escape(value) + ";expires=" + date.toUTCString();
      }else{
        document.cookie = name + "=" + escape(value);
      }
    };

获取cookie

/**
     * 获取对应名称的cookie
     * @param name cookie的名称
     * @returns {null} 不存在时,返回null
     */
    var getCookie = function (name) {
      var arr;
      var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
      if (arr = document.cookie.match(reg))
        return unescape(arr[2]);
      else
        return null;
    };

删除cookie

/**
     * 删除cookie
     * @param name cookie的名称
     */
    var delCookie = function (name) {
      setCookie(name, ' ', -1);
    };

删除cookie就是把的过期时间设为过去
特点:大小不超过4kb,存在于浏览器端,只能存字符串,可以通过path去设置他的有效范围,不然只能再当前页面和他的子页面有效
seesionStorage:关闭窗口就清除(刷新不会),只在当前窗口有效,在另一个窗口打开相同网址也不会有效
localStorage:除非手动删除不然不会清除(清除浏览器缓存和通过removeItem删除),再所有ip+端口相同的页面都可以获取他(同一浏览器)
localStorage和seesionStorage:设置setItem(key,value),获取getItem(key,value),删除removeItem(key)

总结:三者都只能存字符串,不同点就是有效范围和什么时候被消除的不同

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP