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 编程有所帮助。
作者最新文章
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
JS使用constructor判断数据类型可靠吗
2026-11-05 13:49:41
