资讯专栏INFORMATION COLUMN

深入JavaScript之获取cookie以及删除cookie

sarva / 2287人阅读

摘要:如果我想根据键名来删除,怎么做原理分析设置过期时间小于当前时间,那么就会删除该。

cookie存在哪?

存在document.cookie中

cookie长啥样?

cookie是一个字符串,长下面这样:
"name=xxx; age=22;"

注意:分号后面有个空格,记住这一点,下面的代码需要特别注意这一点

如果我想根据键名来获取cookie, 怎么做?
function getCookie(name) {
  var value = "; "+ document.cookie;
  var parts = value.split("; " + name + "=");
  if(parts.length === 2) {
    return parts.pop().split(";").shift();
  }
}

原理分析:
假设现在的document.cookie的值为:myName=xxx; age=22; food=apple;
var value = "; "+ document.cookie;使其变为; myName=xxx; age=22; food=apple;
var parts = value.split("; " + name + "="); 假设传入的nameage, 那么会根据; age=分割字符串,分割之后得到的数组为:
["myName=xxx", "22; food=apple;"]
if(parts.length === 2)说明根据键名得到了对应的值,parts.pop()返回的是数组中的最后一项,即22; food=apple;,然后调用split(";")得到数组["22", "food=apple;"],然后调用shift()会返回数组的第一项,即22, 即可得到我们想要的值

深思: var value = "; "+ document.cookie; 这句代码是整个方法的精髓。

如果我想根据键名来删除cookie, 怎么做?
function deleteCookie(name) {
  document.cookie = name + "=;  expires=Thu, 01 Jan 1970 00:00:01 GMT;"
}

原理分析:
设置cookie过期时间小于当前时间,那么就会删除该cookie。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92035.html

相关文章

  • JavaScript是如何工作的:存储引擎+如何选择合适的存储API

    摘要:字节流这个简单的模型将数据存储为长度不透明的字节字符串变量,将任何形式的内部组织留给应用层。字节流数据存储的代表例子包括文件系统和云存储服务。使用同步存储会阻塞主线程,并为应用程序的创建冻结体验。 这是专门探索 JavaScript 及其所构建的组件的系列文章的第 16 篇。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 如果你错过了前面的章节,可以在这里找到它...

    draveness 评论0 收藏0
  • 前端相关大杂烩

    摘要:希望帮助更多的前端爱好者学习。前端开发者指南作者科迪林黎,由前端大师倾情赞助。翻译最佳实践译者张捷沪江前端开发工程师当你问起有关与时,老司机们首先就会告诉你其实是个没有网络请求功能的库。 前端基础面试题(JS部分) 前端基础面试题(JS部分) 学习 React.js 比你想象的要简单 原文地址:Learning React.js is easier than you think 原文作...

    fuyi501 评论0 收藏0
  • 温故js系列(3)-cookie优缺点&设置获取删除cookie

    摘要:优缺点优点只在中存放不敏感数据,即使被盗也不会有重大损失。控制的生命期,使之不会永远有效。极高的扩展性和可用性,使用简单,操作方法方便缺点数量和长度的限制。每个长度不能超过,否则会被截掉。设置一般主要设置名字和值有效期路径域名是否安全传输。 前端学习:教程&开发模块化/规范化/工程化/优化&工具/调试&值得关注的博客/Git&面试-前端资源汇总 欢迎提issues斧正:cookie J...

    Vultr 评论0 收藏0
  • 数据存储

    摘要:数据并非存储在一个安全环境中,其中包含的任何数据都可以被他人访问。的两个主要目标是提供一种在之外存储会话数据的途径提供一种存储大量可以跨会话存在的数据的机制。 随着Web应用程序的出现,产生了对于能够直接在客户端上存储用户信息能力的要求。比如登录信息、偏好设定或其他数据,这个问题的第一个方案是以cookie的形式出现的,今天cookie只是在客户端存储数据的其中一种选项。 cookie...

    frolc 评论0 收藏0
  • 谈谈我熟悉又陌生的cookie

    摘要:前言大概是我的业务领域比较狭窄的原因我总是会听说却很少在实际的开发中应用或者实践过它今天刚好看到高级程序设计第三版的数据存储部分说到了这里就对做一个深入访谈希望和我一样对似曾相识的朋友可以真正的熟悉并学会利用来服务我们的业务定义是服务器为了 前言 大概是我的业务领域比较狭窄的原因,我总是会听说cookie,却很少在实际的开发中应用或者实践过它,今天刚好看到的数据存储部分,说到了cook...

    fizz 评论0 收藏0

发表评论

0条评论

sarva

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<