相同点:都可以存储在客户端
不同点:
1、存储大小
  • cookie数据大小不能超过4K。
  • sessionStorage 和 localStorage 虽然也有大小限制,但是比cookie大得多,可以达到5M或更大。
2、有效t时间
  • localStorage 存储持久数据,浏览器关闭后数据不会丢失除非主动删除数据;
  • sessionStorage 数据在当前浏览器窗口关闭后自动删除。
  • cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
3、数据和服务器之间的交互方式
  • cookie的数据每次都会携带在HTTP头中会自动传递到服务器,服务器端也可以写cookie到客户端。
  • sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存。
 
 
cookie的操作
设置cookie
cookie格式
cookie的内容:key=value;key=value……存储,参数名自定义
cookie的过期时间:cookie.expires = 1000 毫秒
cookie的路径:path(不兼容)
var name = 'jem';
    var pwd = '123';
    var now = new Date();
    now.setTime(now.getTime() + 1*24*60*60*1000));
    var path = '/'; //不建议使用
    document.cookie = 'name=' + name + ';expires=' + now.toUTCString() + ';path=' + path; document.cookie = 'pwd=' + name + ';expires=' + now.toUTCString() + ';path=' + path;

  读取cookie

方法1
  

function getKey(key) {
var data = document.cookie;
var findStr = key + '=';
var index = data.indexOf(findStr);
if(index == -1) retuen null;
var subStr = data.subString(index + findStr.length);
var lastIndex = subStr.indexof(';');
if(lastIndex == -1){
return subStr;
}else{
return subStr.substring(0,lastIndex)
}
}

方法2、

function getKey(key) {
return JSON.parse( "{\"" + document.cookie.replace(/;\s+/gim,"\",\"").replace(/=/gim,"\":\"")+"\"}" )[key]; }

  

清除cookie
var name = null;   var pwd = null;   var now = new Date();   var path = "/";//可以是具体的网页   document.cookie= "name=" + name + ";expires=" + now.toUTCString()+ ";path=" + path;//姓名   document.cookie = "pwd=" + pwd + ";expires=" + now.toUTCString()+ ";path=" + path; //密码  
封装方法
var cookie = { set:function(key, value,time) {//设置cookie方法 if(key) return '不能为空'; //设置key不存在的时 返回 var date = new Date(); var expiresDays = time && 1;//默认1天后过期 date.setTime(date.getTime() + expiresDays * 24 * 60 * 60 *1000 );//格式化cookies的时间 document.cookie = key + '=' + value + ';=expires=' + date.toUTCString(); }, get:function(key) { return JSON.parse("{\""+document.cookie.replace(/;\s+/gmi,"\",\"").replace(/=/gim,"\":\"")+"\"}")[key]; }, check:function(key) { var cookieVal = this.get(); if(cookieVal == null||cookieVal == undefinded){ alert('值已存在!') }else{ alert('可以设置值') } }, delete:function(key) { var date = new Date(); date.setTime(date.getTime()-10000);//设置一个过去的时间 document.cookie = key + '=' + value + ';=expires=' + date.toUTCString(); } }
 
sessionStorage 的使用
seddionStorage.setItem(key,value);//必须是字符串 
var value = sessionStorage.getItem(key);//或者sessionStorage 值
sessionStorage.removeItem(key);//删除sessionStorage 的值
seddionStorage.clear();//清空sessionStorage

  localStorage 的使用

同sessionStorage
localStorage和sessionStorage的key和length属性实现遍历
sessionStorage和localStorage提供的key()和length可以方便的实现存储的数据遍历,例如下面的代码:
var storage = window.localStorage; for(var i=0, len=storage.length; i<len;i++){ var key = storage.key(i); var value = storage.getItem(key); console.log(key + "=" + value); }

--------------------------------------------------------------------------------------------------------------------------

前端面试01:描述一下cookices sessionStorage 和 localStorage 的区别的更多相关文章

  1. 7,请描述下cookies,sessionStorage和localStorage的区别

    7,请描述下cookies,sessionStorage和localStorage的区别 首先,cookie是网站为了标识用户身份而储存在用户本地终端(client side,百科: 本地终端指与计算 ...

  2. cookies,sessionStorage 和 localStorage 的区别

    请描述一下 cookies,sessionStorage 和 localStorage 的区别? sessionStorage 和 localStorage 是HTML5 Web Storage AP ...

  3. cookies、sessionStorage和localStorage的区别

    cookies.sessionStorage和localStorage的区别 对比 特性 Cookie LocalStorage SessionStorage 数据的生命周期              ...

  4. 请描述一下 cookies,sessionStorage 和 localStorage 的区别

    原文:http://blog.csdn.net/lxcao/article/details/52809939 相同点:都存储在客户端不同点: 1.存储大小 cookie数据大小不能超过4k. sess ...

  5. 描述一下 cookies,sessionStorage 和 localStorage 的区别

    cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密),数据会在浏览器和服务器间来回传递.sessionStorage和localStorage不会自 ...

  6. 描述一下 cookies,sessionStorage 和 localStorage 的区别?

    sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...

  7. 请描述一下 cookies,sessionStorage和localStorage的区别?

    cookie在浏览器和服务器间来回传递. sessionStorage和localStorage不会sessionStorage和localStorage的存储空间更大:sessionStorage和 ...

  8. 前端面试:问到GET和POST两种区别

    最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. "标准答案"(本标准答案参考自w3schools): GET在浏览器回退时是无害的,而P ...

  9. cookies,sessionStorage和localStorage的区别

    联系: sessionStorage和localStorage一样,都是用来缓存客户端缓存信息. 他们都只能存储字符串类型对象. 区别: localStorage的生命周期是永久的,除非用户主动清除浏 ...

随机推荐

  1. tushare库:免费的python财经数据接口

    tushare官网以及在线文档http://tushare.org/ 安装    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tus ...

  2. Linux Tools 之 iostat 工具总结

    iostat是Linux中被用来监控系统的I/O设备活动情况的工具,是input/output statistics的缩写.它可以生成三种类型的报告: CPU利用率报告 设备利用率报告 网络文件系统报 ...

  3. liteos信号量(八)

    1. 概述 1.1 基本概念 信号量(Semaphore)是一种实现任务间通信的机制,实现任务之间同步或临界资源的互斥访问.常用于协助一组相互竞争的任务来访问临界资源. 在多任务系统中,各任务之间需要 ...

  4. apicloud触底加载的简单实现

    直接上干货 api.addEventListener({ name: 'scrolltobottom', extra: { threshold: 0 } }, function(ret, err) { ...

  5. Redis缓存实战教程

    目录 Redis缓存 使用缓存Redis解决首页并发问题 1.缓存使用的简单设计 2.Redis的整合步骤 A 将Redis整合到项目中(Redis+Spring) B 设计一个数据存储策越 3.Re ...

  6. 爬虫---Beautiful Soup 反反爬虫事例

    前两章简单的讲了Beautiful Soup的用法,在爬虫的过程中相信都遇到过一些反爬虫,如何跳过这些反爬虫呢?今天通过知乎网写一个简单的反爬中 什么是反爬虫 简单的说就是使用任何技术手段,阻止别人批 ...

  7. Linux简单命令的使用

    1.linux上怎么快速删除一个目录在linux中删除一个目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可解决.直接rm就可以了,不过要加两 ...

  8. python27期day11:f-strings格式化、迭代器、生成器、作业题。

    1.建议小写f: name = "宝元"age = 18sex = "男"msg = F"姓名:{name},性别:{age},年龄:{sex}&qu ...

  9. GAN与VAE

    经典算法·GAN与VAE Generative Adversarial Networks 及其变体 生成对抗网络是近几年最为经典的生成模型的代表工作,Goodfellow的经典工作.通过两个神经网络结 ...

  10. leetcode189. 旋转数组

    方法 4:使用反转算法 这个方法基于这个事实:当我们旋转数组 k 次, k\%nk%n 个尾部元素会被移动到头部,剩下的元素会被向后移动. 在这个方法中,我们首先将所有元素反转.然后反转前 k 个元素 ...