cookie存在哪?

存在document.cookie中

ookie长啥样?

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 + ‘=’); 假设传入的name是age, 那么会根据; 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过期时间小于当前时间,那么就会删除该cookie。
function delCookie(Name) {
document.cookie = 'popped' + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'
}

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

深入JavaScript之获取cookie以及删除cookie的更多相关文章

  1. jquery 设置cookie、删除cookie、获取cookie

    1.引入jquery.js <script src="//cdn.bootcss.com/jquery/1.12.4/jquery.js"></script> ...

  2. 设置cookie,获取cookie,删除cookie,修改cookie

    怎么设置cookie,怎么设置cookie以及删除cookie和cookie详解 在操作cookie之前,先来看一下cookie长什么样. 可以看到,cookie是一个个键值对(“键=值”的形式)加上 ...

  3. JS设置cookie,删除cookie(引)

    JS设置cookie,删除cookie(引) js设置cookie有很多种方法. 第一种:(这个是w3c官网的代码) <script> //设置cookie function setCoo ...

  4. JS设置cookie、读取cookie、删除cookie(转)

    JS设置cookie.读取cookie.删除cookie 转载  2015-04-17   投稿:hebedich    我要评论 Js操作Cookie总结(设置,读取,删除),工作中经常会用到的哦! ...

  5. JS设置cookie、读取cookie、删除cookie

    JS设置cookie.读取cookie.删除cookie       JS设置cookie,注意一定要path=/ ,根目录,不然其他目录可能查询不到..默认是本目录. document.cookie ...

  6. js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...

  7. 获取cookie,设置cookie,删除cookie

    //获取cookie export const getCookie = (name) => { var arr, reg = new RegExp("(^| )" + nam ...

  8. jquery cookie用法(获取cookie值,删除cookie)

    1.引入文件 2.具体操作 $.cookie('the_cookie'); // 读取 cookie $.cookie('the_cookie', 'the_value'); // 存储 cookie ...

  9. JAVAWEB使用保存cookie、删除cookie、获取cookie工具类

    package com.test; import org.apache.commons.lang.StringUtils; import org.springframework.util.Assert ...

随机推荐

  1. JS&ASPDotNet_大文件上传问题

    HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...

  2. Spring——框架

    [定义] 框架就是制定一套规则或规范(思想),大家(程序员)在该规范或者规则(思想)下工作. 或者说是使用别人搭好的舞台,你来表演. [特点] ——半成品 ——封装了特定的处理流程和控制逻辑 ——成熟 ...

  3. plt.imshow()为什么不能显示同时显两张照片

    在编程的过程中发现plt.imshow()不能同时显示两张照片,如果有两条plt.imshow()语句处于一前一后的位置,那么程序运行后只会显示后面的图片.如果想让每一张图片都显示出来,需要在每一个p ...

  4. xuyaojiade

    <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script><scri ...

  5. Android animation summary

    Android animation 动画定义 动画的意思就是一连串画面动起来了,根据这一连串画面的产生原理可分为两类:补间动画(Tween animation)和帧动画(frame animation ...

  6. Oracle redo与undo浅析

    http://liwenshui322.iteye.com/blog/1488949 一. 什么是redo(用于前滚数据) redo也就是重做日志文件(redo log file),Oracle维护着 ...

  7. SQLite入门语句之ALTER命令

    SQLite 的 ALTER TABLE 命令不通过执行一个完整的转储和数据的重载来修改已有的表,在 SQLite 中,除了重命名表和在已有的表中添加列,ALTER TABLE 命令不支持其他操作. ...

  8. (转)Jquery之ShowLoading遮罩组件

    本文转载自:http://www.cnblogs.com/eczhou/archive/2012/12/18/2822788.html 一.遮罩用途及效果 ShowLoading这个jQuery插件设 ...

  9. LinkedHashSet 源码分析

    LinkedHashSet 1)底层由 LinkedHashMap 支持的 Set 接口实现,该 Set 中的元素具有可预知的迭代顺序. 创建实例 /** * 构造一个新的空 set,其底层 Link ...

  10. eclipse 背景绿豆沙颜色

    General -> Editors -> Text Editors -> Appearance color options -> Background color 色调:85 ...