用js封装一个对cookie操作的方法

news/2025/1/21 6:25:51/文章来源:https://www.cnblogs.com/ai888/p/18682797

在前端开发中,使用JavaScript来封装对cookie的操作是一个常见的需求。以下是一个简单的示例,展示了如何封装设置(set)、获取(get)和删除(remove)cookie的方法:

// 封装cookie操作的方法
const cookie = {// 设置cookieset(name, value, daysToExpire = 1) {let date = new Date();date.setTime(date.getTime() + (daysToExpire*24*60*60*1000));document.cookie = name + '=' + value + ';expires=' + date.toGMTString() + ';path=/';},// 获取cookieget(name) {let nameEq = name + '=';let cookies = document.cookie.split(';');for(let c of cookies) {while (c.charAt(0) == ' ') {c = c.substring(1, c.length);}if (c.indexOf(nameEq) == 0) {return c.substring(nameEq.length, c.length);}}return null;},// 删除cookieremove(name) {this.set(name, '', -1); // 设置过期时间为过去的时间来删除cookie}
};// 使用示例:
// 设置cookie
cookie.set('username', 'JohnDoe', 7); // 设置名为'username'的cookie,值为'JohnDoe',7天后过期// 获取cookie
let username = cookie.get('username'); // 获取名为'username'的cookie的值
console.log(username); // 输出:JohnDoe// 删除cookie
cookie.remove('username'); // 删除名为'username'的cookie

这个示例中的cookie对象包含了三个方法:setgetremove,分别用于设置、获取和删除cookie。set方法接受三个参数:cookie的名称、值和过期天数(默认为1天)。get方法接受一个参数:cookie的名称,并返回对应的值。如果找不到指定的cookie,则返回nullremove方法通过设置一个过去的过期时间来删除指定的cookie。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/872616.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么让div中的图片和文字同时上下居中?

在前端开发中,有多种方法可以让一个 div 中的图片和文字同时上下居中。以下是一些常见的方法: 1. 使用 Flexbox Flexbox 是一个非常强大的布局模型,可以很容易地实现元素的居中。 <div class="container"><img src="image.jpg" alt="Imag…

3D NAND中基于图的近似最近邻搜索的Proxima近存储加速(下)

D.动态名单和提前终止 我们提出了一种动态列表和提前终止策略,以在图遍历过程中利用这些信息,如算法1所示。我们观察到,大多数查询在较小的T(候选列表大小)处收敛(找到它们的真实k-NN)。进一步增加T不会提高这些查询的召回率,只会增加计算成本。图6-(a)显示了DiskANN…

3D NAND中基于图的近似最近邻搜索的Proxima近存储加速(上)

3D NAND中基于图的近似最近邻搜索的Proxima近存储加速 摘要——近似最近邻搜索(ANNS)在各种应用中起着不可或缺的作用,包括推荐系统、信息检索和语义搜索。在尖端的ANNS算法中,基于图的方法在海量数据集上提供了卓越的准确性和可扩展性。然而,性能最好的基于图的ANN搜索解…

软件工程中的经验方法笔记

第一讲中上:收集数据(比如挖掘数据,etc)。 右中:分析数据:收集了数据自然要分析。定量:计算 定性:理解人们在说什么。 中下:解释数据:从数据科学的分析结果到软件工程方面的信息,我们需要知道某个特定的变量对整个软件工程的影响。 左中:干预、推荐:通过软件工程方…

推荐4书《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》,谢谢

4本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该…

【CodeForces训练记录】Codeforces Round 999, Div. 1 + Div. 2

训练情况 赛后反思 幽默A题WA了两发,B题在努力回忆set里面怎么upper_bound,开完两道就在罚坐了 A题 简单的性质:偶数+偶数=偶数,奇数+奇数=偶数,奇数+偶数=奇数,每次除完保证是奇数,所以我们只需要把偶数扔到第一个,接下来全部是奇数,答案是奇数个数加一,如果没有奇数…

Hyper-V中如何调整Ubuntu22虚拟机的分辨率

转载:Hyper-V中如何调整Ubuntu22虚拟机的分辨率 - 知乎 使用win10中的hyper-v安装ubuntu22,发现分辨率过低并且在ubuntu内无法调整display settings。以下为此问题的解决方法: 步骤:修改ubuntu系统中的grub文件; 在win10中,设置Hyper-v修改ubuntu系统中的grub文件 在ubun…

【算法部署】工具下篇

一、算法部署简介算法部署任务是将已开发的算法模型应用到实际场景中去的过程。这个过程通常需要在计算机、服务器或其它硬件设备上面运行算法模型,并编写一些代码来调用模型。任何模型其实都会涉及到模型部署任务,其实你在调用现成的API接口做推理的过程也可以叫做模型部署。…

【算法部署】工具上篇

算法部署简介算法部署任务是将已开发的算法模型应用到实际场景中去的过程。这个过程通常需要在计算机、服务器或其它硬件设备上面运行算法模型,并编写一些代码来调用模型。任何模型其实都会涉及到模型部署任务,其实你在调用现成的API接口做推理的过程也可以叫做模型部署。模型…

行锁,如何减少锁对性能的影响

什么是行锁? MySQL 的行锁是在引擎层由各个引擎自己实现的。但并不是所有的引擎都支持行锁,比如MyISAM 引擎就不支持行锁。不支持行锁意味着并发控制只能使用表锁,对于这种引擎的表,同一张表上任何时刻只能有一个更新在执行,这就会影响到业务并发度。InnoDB 是支持行锁的,…

WHUWC 2025 游记

WHUWC 2025 游记 WHU 今年不知道为啥搞了个冬令营,我随手报了一发结果过了,看来真的是没什么人去。 不过感觉非常好啊!逃课+面积+旅游, WC 本身好像没那么重要。 不过这营只有一天,有点不牛。 Day -1 周六上完课,回家搞了几把 CS,被家长要求复健,但是我已经 AFO 一个多…