cookie和localstorage的区别和用法,总结cookie、localStorage和 sessionStorage的区别
一、localStorage、cookie、sessionStorage的区别与练习
1.饼干饼干。它的大小被限制在4KB左右,是由网景公司的前雇员Lou Montulli在1993年3月发明的。它的主要目的是保存登录信息。比如你登录一个网站市场,可以看到“记住密码”,这通常是通过在Cookie中存储一段数据来识别用户来实现的。
a、生命周期:通常是浏览器关闭的时间。如果您想在关闭后打开它,您可以设置cookie的过期时间。
//具体操作cookie document . cookie= name=value;expires=日期;path=路径;domain=域;安全“//path路径;访问同一个域名;**安全* *仅将http加密为https(仅在服务器和客户端之间)。document . cookie= username=Darren // username 表示cookie名称, Darren 表示该名称对应的值。假设cookie名称不存在,那就是创建一个新的cookie;如果存在,则对应于该cookie名称的值已被修改。//cookie访问必须使用文档对象的cookie属性;(来自W3C School)函数get cookie(c _ name){ If(document . cookie . length 0){//首先判断cookie是否为空,如果为空,则返回 c _ start=document . cookie . indexOf(c _ name =)//通过String对象的index of()检查此cookie是否存在。如果不存在,则为-1 if (c_start!=-1){ c _ start=c _ startc _ name . length 1//最后一个1实际上表示=符号,从而得到cookie值c_end=document.cookie.indexOf的起始位置(;,c_start)//indexOf()第二个参数指示指定起始索引的位置.以获得值的结束位置。因为要考虑是不是最后一项,‘;’数是否存在判断是否(c _ end==-1)c _ end=document . cookie . length;return unescape(document . cookie . substring(c _ start,c _ end))//通过substring()获取值。想要了解escape(),首先要知道escape()是做什么的,这是一个非常重要的基础。如果你想了解,可以在文末搜索并解释cookie编码的细节。//substring (indexstart [,indexend])从开始索引到结束索引,或者从开始索引到字符串结尾截取字符串的子集。Xstart [,indexend]//escape()string escape } } return }//通过expires设置cookie的有效期。语法如下:document.cookie= name=valueexpires=Date //data:GMT格式的日期字符串var _ Date=new Date();_ date . setdate(_ date . getdate()30);//30表示保留30天_ date . togmtstring();//函数封装函数setcookie (c _ name,value,expire days){ var ex date=new date();ex date . set date(ex date . getdate()expire days);document . cookie=c _ name = escape(value)((expire days==null)? :;expires= ex date . togmtstring());}//用法方法Setcookie (username , changlin ,30)不能包含空格、分号、逗号等特殊符号。当输入cookie信息时,但一般情况下,cookie信息是以未编码的方式存储的。因此,在设置cookie信息之前,我们应该使用escape()函数对cookie值信息进行编码,然后在获取cookie值时使用unescape()函数将值转换回来。例如,设置cookie时:
document . cookie=name = escape(value)看看基本用法中提到的getCookie()中的那句话:
return escape(document . cookie . substring(c _ start,c _ end))这样就不用担心cookie值中出现的特殊符号导致的cookie信息错误了。
2.会话存储和本地存储的使用
localStorage和sessionStorage属性允许将键/值对的数据存储在浏览器中。
SessionStorage用于临时保存同一个窗口(或选项卡)的数据,该数据将在窗口或选项卡关闭后被删除。
位置一直存在于本地。浏览器关闭后会立即清除SessionStorage。
本地存储限制:
1.浏览器大小不统一,只有IE8以上的IE版本支持localStorage属性。
2.目前所有浏览器都将localStorage的值类型限制为string类型,这就需要对我们常见的JSON对象类型进行一些转换。
3.在浏览器的隐私模式下,localStorage不可读
4.localStorage本质上是读取字符串。如果存储的内容太多,会消耗内存空间,导致页面换卡。
5.爬网程序无法对localStorage进行爬网。
6.与cookie相比,它可以节省带宽,但这仅在高版本浏览器中受支持。
//用法var students={肖敏:{姓名:小明,年级:1},teemo:{姓名: teemo ,年级:3}} students=json.stringify(学生);//将JSON转换成字符串,存储在变量console.log(学生);localStorage.setItem(students ,学生);//将变量保存到local storage varnew students=local storage . getitem( students );newStudents=JSON.parse(学生);//更改为JSON console . log(new students);//打印出原始对象的公共API
这就是本文的全部内容。希望对大家的学习和支持有帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。