JavaScript Cookie 基础教程:设置、读取与删除详解

作者:小括号

时间:2026-10-30

浏览:562

本文详细介绍 JavaScript 中 Cookie 的基本概念、特点及操作方法。通过 document.cookie 属性,开发者可以设置带有过期时间的 Cookie,读取以分号分隔的字符串数据,并通过将过期时间设为过去时间来删除 Cookie。文中提供了完整的封装代码示例,涵盖增删改查功能,帮助理解前端数据持久化机制。

文章目录

JavaScript Cookie 基础教程:设置、读取与删除详解

本文通过具体实例解析 JavaScript 中 Cookie 的使用方法,供读者参考学习。

Cookie 的概念与特点

一、什么是 Cookie?

Cookie 是网页用于保存信息的一种机制,常用于实现自动登录、记住用户名等功能。

二、Cookie 的主要特点

同一网站下的所有页面共享同一套 Cookie 数据。

Cookie 在数量和存储大小上存在限制。

Cookie 可以设置过期时间,超时后自动失效。

Cookie 的具体使用方法

三、Cookie 的具体使用方法

通过 document.cookie 属性即可写入 Cookie。

写入 Cookie 的基础操作


<!DOCTYPE HTML>
<html lang="en-US">
<head>
 <meta charset="UTF-8">
 <title>cookie基础</title>
</head>
<body>
</body>
</html>
<script type="text/javascript">
document.cookie = 'username=abc';
document.cookie = 'password=123';
document.cookie = 'email=abcdef@123.com';
</script>

在浏览器中查看 Cookie 可以发现,新定义的 Cookie 并不会覆盖原有数据,而是以键值对形式追加。

若未设置过期时间,关闭浏览器后 Cookie 将被清空。要设置有效期,需使用 expires 属性,通常结合 Date 对象使用。

设置 Cookie 过期时间


var d = new Date();
d.setTime(d.getTime() + 1 * 3600 * 1000);
document.cookie = 'username=abc; expires=' + d.toGMTString();

通过火狐浏览器可查看,username 的过期时间设定为当前时间之后 1 小时。

最后,对获取 Cookie 的方法进行封装处理:

封装设置 Cookie 函数


function setCookie(name,value,hours){ 
 var d = new Date();
 d.setTime(d.getTime() + hours * 3600 * 1000);
 document.cookie = name + '=' + value + '; expires=' + d.toGMTString();
}

掌握设置方法后,接下来介绍如何读取 Cookie。

首先观察 Cookie 内容的类型:

读取 Cookie 数据


document.cookie = 'username=abc';
document.cookie = 'password=123';
document.cookie = 'email=abcdef@123.com';
typeof document.cookie; //string
alert(document.cookie); //'username=abc; password=123; email=abcdef@123.com'

获取到的是一串字符串,需注意每个分号(;)后跟随一个空格。

为提取具体数值,参考以下代码实现:

封装获取 Cookie 函数


function getCookie(name){ 
 var arr = document.cookie.split('; ');
 for(var i = 0; i < arr.length; i++){
 var temp = arr[i].split('=');
 if(temp[0] == name){
  return temp[1];
 }
 }
 return '';
}

除设置和获取外,还可删除 Cookie。例如网站常见的“清除用户名”功能,即通过删除 Cookie 实现。

删除 Cookie 的方法很简单,只需将过期时间设置为过去的时间即可。

删除 Cookie 的方法


function removeCookie(name){
 var d = new Date();
 d.setTime(d.getTime() - 10000);
 document.cookie = name + '=1; expires=' + d.toGMTString();
}

最终,将设置、获取和删除 Cookie 的功能封装至 cookie.js 文件中。

完整 Cookie 操作封装


function setCookie(name,value,hours){ 
 var d = new Date();
 d.setTime(d.getTime() + hours * 3600 * 1000);
 document.cookie = name + '=' + value + '; expires=' + d.toGMTString();
}
function getCookie(name){ 
 var arr = document.cookie.split('; ');
 for(var i = 0; i < arr.length; i++){
 var temp = arr[i].split('=');
 if(temp[0] == name){
  return temp[1];
 }
 }
 return '';
}
function removeCookie(name){
 var d = new Date();
 d.setTime(d.getTime() - 10000);
 document.cookie = name + '=1; expires=' + d.toGMTString();
}

附:补充一个关于 Cookie 的基础应用:JavaScript 记录用户名。

更多关于 JavaScript 相关内容感兴趣的读者可查看本站专题:《JavaScript 中 json 操作技巧总结》、《JavaScript 切换特效与技巧总结》、《JavaScript 查找算法技巧总结》、《JavaScript 动画特效与技巧汇总》、《JavaScript 错误与调试技巧总结》、《JavaScript 数据结构与算法技巧总结》、《JavaScript 遍历算法与技巧总结》及《JavaScript 数学运算用法总结》

希望本文所述对大家 JavaScript 程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章