JavaScript 设置、读取与删除 Cookie 的完整实现

作者:函数茶馆时间:2026-10-29 20:47:18浏览:454

本文详细介绍如何利用 JavaScript 在前端设置、读取和删除 Cookie。通过封装 getCookie、setCookie 和 clearCookie 函数,解决前端多参数传递的繁琐问题,提升开发效率。包含完整的代码示例及调用说明,适用于需要本地存储少量数据的场景。

JavaScript 操作 Cookie 的应用场景

本文分享一种在 JavaScript 中设置和使用 Cookie 的简单方法,供开发者参考。

一、JavaScript 操作 Cookie 的应用场景

虽然 PHP 等后端语言可以设置 Cookie,但使用 JavaScript 在前端直接操作也有其优势。在前端开发中,有时需要传递大量参数,若将这些参数拼接在 URL 后传输,处理起来较为繁琐。将数据存入 Cookie 能显著提高开发效率。以淘宝为例,商品筛选涉及一级、二级、三级甚至四级分类,条件众多。若将所有筛选条件存入 Cookie,操作将更加便捷(尽管淘宝 URL 经过加密且较长,可能采用其他机制,但这是一种可行的思路)。以下通过具体示例进行说明。

JavaScript 实现示例

二、JavaScript 实现示例


//取得cookie
function getCookie(name) {
 var nameEQ = name + "=";
 var ca = document.cookie.split(';'); //把cookie分割成组
 for(var i=0;i < ca.length;i++) {
 var c = ca[i]; //取得字符串
 while (c.charAt(0)==' ') { //判断一下字符串有没有前导空格
 c = c.substring(1,c.length); //有的话,从第二位开始取
 }
 if (c.indexOf(nameEQ) == 0) { //如果含有我们要的name
 return unescape(c.substring(nameEQ.length,c.length)); //解码并截取我们要值
 }
 }
 return false;
}
//清除cookie
function clearCookie(name) {
 setCookie(name, "", -1);
}
//设置cookie
function setCookie(name, value, seconds) {
 seconds = seconds || 0; //seconds有值就直接赋值,没有为0,这个根php不一样。
 var expires = "";
 if (seconds != 0 ) { //设置cookie生存时间
 var date = new Date();
 date.setTime(date.getTime()+(seconds*1000));
 expires = "; expires="+date.toGMTString();
 }
 document.cookie = name+"="+escape(value)+expires+"; path=/"; //转码并赋值
}

以下代码展示了如何调用上述封装的方法。


setCookie("test","tank",1800); //设置cookie的值,生存时间半个小时
alert(getCookie('test')); //取得cookie的值,显示tank
clearCookie("test"); //删除cookie的值
alert(getCookie('test')); //test对应的cookie值为空,显示为false.就是getCookie最后返的false值。

希望本文提供的代码示例对您的 JavaScript 编程有所帮助。

作者最新文章