前端面试01:描述一下cookices sessionStorage 和 localStorage 的区别

相同点:都可以存储在客户端

不同点:

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); }

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

原文地址:https://www.cnblogs.com/lyswwb/p/10932305.html

时间: 2024-10-25 20:33:51

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

描述cookie、sessionStorage和localStorage的区别

场景应用不同:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递.而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存.cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下.cookie由服务端生成,用于标识用户身份:而两个storage用于浏览器端缓存数据. 存储大小限制也不同,cookie数据不能超过4k,因为每次http请求都会携带cookie,所以cookie只适合保

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

(1)cookie在浏览器和服务器间来回传递, sessionStorage和localStorage不会. (2)sessionStorage和localStorage的存储空间更大. (3)sessionStorage和localStorage有更多丰富易用的接口. (4)sessionStorage和localStorage各自独立的存储空间.

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

最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. “标准答案”(本标准答案参考自w3schools): GET在浏览器回退时是无害的,而POST会再次提交请求. GET产生的URL地址可以被Bookmark,而POST不可以. GET请求会被浏览器主动cache,而POST不会,除非手动设置. GET请求只能进行url编码,而POST支持多种编码方式. GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留. GET请求在URL中传送

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

(一)相同点:都存储在客户端 (二)不同点: 1.存储大小不同 cookie数据大小不能超过4k. sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大. 2.有效时间不同 localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据: sessionStorage 数据在当前浏览器窗口关闭后自动删除. cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭 3. 数据与服务器之间的交互方

[Html5]sessionStorage和localStorage的区别

摘要 有时需要在浏览器中保存一些数据,特别在app中嵌入的h5页面中,需要在webview中保存一些数据,作为客户端的数据持久化. h5中web storage有两种存储方式:sessionStorage和localStorage. sessionStorage:用于存储一次会话的数据,这些数据只有在同一个会话中的页面才能访问到,当会话结束后,数据也随之销毁,可以这样形容sessionStorage,是会话级别的数据存储. localStorage:用于持久本地数据,除非主动删除,否则数据永远存

cookies,sessionStorage 和 localStorage 的区别

sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必要地来回传递. sessionStorage.localStorage.cookie都是在浏览器端存储的数据,其中sessionStorage的概念很特别,引入了一个"浏览器窗口"的概念.sessionStorage是在同源的同窗口(或tab)中,始终存在的数据.也就是说只要这个浏览器窗口

cookie、sessionStorage、localStorage的区别

cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递.而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存.cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下.存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识. sessionStorage和localStorage虽然也有存储大小

cookies,sessionStorage 和localStorage 的区别。

cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密). cookie数据始终在同源的http请求中携带(即使不需要),记会在浏览器和服务器间来回传递. sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存. 存储大小: cookie数据大小不能超过4k. sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大. 有期时间: localSt

sessionStorage 和 localStorage 的区别

前几天学了 Windows 的 sessionStorage 和 localStorage 这两个方法. sessionStorage 和 localStorage 一样都是用来存储客户端临时信息的. 他们最大的差别在于生命周期. sessionStorage 的生命周期比较短,关闭浏览器时,他的生命周期就结束了. 而 localStorage 生命周期是永久,理论上只要用户不去清理,那他就一直存在.