JS技术

JavaScript入门教程(五)_javascript教程教程(2)

字号+ 作者:H5之家 来源:H5之家 2015-10-10 14:21 我要评论( )

var expires = new Date(); expires.setTime(expires.getTime() + 3 * 30 * 24 * 60 * 60 * 1000); /* 三个月 x 一个月当作 30 天 x 一天 24 小时 x 一小时 60 分 x 一分 60 秒 x 一秒 1000 毫秒 */ document.cooki

var expires = new Date();

expires.setTime(expires.getTime() + 3 * 30 * 24 * 60 * 60 * 1000);

/*   三个月 x 一个月当作 30 天 x 一天 24 小时

   x 一小时 60 分 x 一分 60 秒 x 一秒 1000 毫秒 */

document.cookie = 'name=rose;expires=' + expires.toGMTString();



为什么没有用 escape() 方法?这是因为我们知道 rose 是一个合法的 URL 编码字符串,也就是说,'rose' ==
escape('rose')。一般来说,如果设定 Cookie 时不用 escape(),那获取 Cookie 时也不用 unescape()。


  再来一次:编写一个函数,作用是查找指定 Cookie 的值。



function getCookie(cookieName) {

  var cookieString = document.cookie;

  var start = cookieString.indexOf(cookieName + '=');

  // 加上等号的原因是避免在某些 Cookie 的值里有

  // 与 cookieName 一样的字符串。

  if (start == -1) // 找不到

    return null;

  start += cookieName.length + 1;

  var end = cookieString.indexOf(';', start);

  if (end == -1) return unescape(cookieString.substring(start));

  return unescape(cookieString.substring(start, end));

}



这个函数用到了字符串对象的一些方法,如果你不记得了(你是不是这般没记性啊),请快去查查。这个函数所有的 if 语句都没有带上
else,这是因为如果条件成立,程序运行的都是 return 语句,在函数里碰上 return,就会终止运行,所以不加 else 也没问题。该函数在找到
Cookie 时,就会返回 Cookie 的值,否则返回“null”。


  现在我们要删除刚才设定的 name=rose Cookie。



var expires = new Date();

expires.setTime(expires.getTime() - 1);

document.cookie = 'name=rose;expires=' + expires.toGMTString();



可以看到,只需要把失效日期改成比现在日期早一点(这里是早 1 毫秒),再用同样的方法设定 Cookie,就可以删掉 Cookie 了。



 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JavaScript入门教程(二)_javascript教程教程

    JavaScript入门教程(二)_javascript教程教程

    2015-10-10 14:25

  • JavaScript入门教程(四)_javascript教程教程

    JavaScript入门教程(四)_javascript教程教程

    2015-10-10 14:19

  • JavaScript入门教程(三)_javascript教程教程

    JavaScript入门教程(三)_javascript教程教程

    2015-10-10 14:17

  • JavaScript入门教程(一)_javascript教程教程

    JavaScript入门教程(一)_javascript教程教程

    2015-10-10 14:15

网友点评