vue项目开发中啥时候用cookie啥时候用sessionstorage?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue项目开发中啥时候用cookie啥时候用sessionstorage?相关的知识,希望对你有一定的参考价值。

vue项目开发中什么时候用cookie什么时候用sessionstorage,

一,cookie的使用

1,首先加载模块

npm i js-cookie -S

2,在使用cookie的页面上进行引入

import Cookies from 'js-cookie'

3,使用方法

创建一个在整个网站上有效的Cookie

Cookies.set('name', 'value');

创建一个从现在起7天后过期的cookie,在整个站点上有效:

Cookies.set('name', 'value', expires: 7 );

创建一个过期的cookie,对当前页面的路径有效:

Cookies.set('name', 'value', expires: 7, path: '' );

读取cookie:

Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined

阅读所有可见的Cookie:

Cookies.get(); // => name: 'value'

删除cookie:

Cookies.remove('name');

删除对当前页面路径有效的cookie:

Cookies.set('name', 'value', path: '' );
Cookies.remove('name'); // fail!
Cookies.remove('name', path: '' ); // removed!

重要!删除cookie时,您必须传递用于设置cookie的完全相同的路径和域属性,除非您依赖于默认属性。

注意:删除未存在的cookie不会引发任何异常,也不会返回任何值

二,localStorage的使用

注:vue下使用localStorage和H5使用localStorage的方法是一致的,不需要引入插件

1,储存

//数据
localStorage.setItem('userName','HelloWeen');

2,获取

localStorage.getItem('userName')

3,删除

localStorage.removeItem('userName');

4,localStorage可以储存JSON对象,且没有时间限制的数据存储 ,除非主动删除。

//数组
var arr=[1,2,3];
localStorage.setItem("temp",arr); //会返回1,2,3
console.log(typeof localStorage.getItem("temp"));//string
console.log(localStorage.getItem("temp"));//1,2,3

5,localStorage.setItem() 不会自动将Json对象转成字符串形式

var user= "userName": "hello","age": 2;
typeof localStorage.getItem("user");//也会返回String
localStorage.setItem("user", user);//但是返回[object Object],

6,用localStorage.setItem()正确存储JSON对象方法是:

存储前先用JSON.stringify()方法将json对象转换成字符串形式

JSON.stringify() 方法可以将任意的 javascript 值序列化成 JSON 字符串

1
2
3

1
2
3
4
5

1

1

1
2

1
2
3

1

1

1
2

1

1

1

1

1

获取的时候要将之前存储的JSON字符串使用JSON.parse()先转成JSON对象再进行操作

var user= "userName": "hello","age": 2;
user= JSON.stringify(user); //转化为JSON字符串 ""userName":"hello","age":2"
localStorage.setItem("user", user);//返回"userName":"hello","age":2
user=JSON.parse(localStorage.getItem("user"));

三,sessionStorage的使用

定义和使用

localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。

sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

提示: 如果你想在浏览器窗口关闭后还保留数据,可以使用 localStorage 属性, 改数据对象没有过期时间,今天、下周、明年都能用,除非你手动去删除。

1,方法

sessionStorage.key(int index) //返回当前 sessionStorage 对象的第index序号的key名称。若没有返回null。
1

1
2
3
4

sessionStorage.getItem(string key) //返回键名(key)对应的值(value)。若没有返回null。

sessionStorage.setItem(string key, string value) //该方法接受一个键名(key)和值(value)作为参数,将键值对添加到存储中;如果键名存在,则更新其对应的值。

sessionStorage.removeItem(string key) //将指定的键名(key)从 sessionStorage 对象中移除。

sessionStorage.clear() //清除 sessionStorage 对象所有的项。
参考技术A cookie 用来频繁交互,同时cookie一般和后端session绑定在一起使用
同时会话关闭不影响cookie
sessionStorage 用来在一个会话中保存状态,关闭浏览器会丢失

java中啥时候用/n ,啥时候用 \r,我从来没有用过?

给我写个小例子看下,谢谢。

1./r是回车符,/n是换行符,两者意义是不一样的。
2.先解释一下回车和换行的来历及概念:
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
后来,计算机发明了,这两个概念也就被般到了计算机上。基本的概念应该是回车表示回到最前面,换行表示换一行。但是那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
3.目前具体情况:
在上述分歧下不同系统采取了不同的实现:Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回车 >”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开 的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
参考技术A Java中\n和\r的区别如下:
1.\r 的全称----> Carriage Return,中文:回车;---->回到本行的首位;
2.\n 的全称----> New Line, 中文:换行;---->到下一行首位;
使用System.getProperty("line.separator")来获取当前OS的换行符
针对不同的系统:苹果系统Mac\r ,Unix、Linux系统\n ,Windows系统\r\n。
-------java简单程序区分即可看出--------
//环境:win7,Editplus;
class Test2

public static void main(String[] args)

System.out.println("_________________________\n");
System.out.println("Hello World!---->1"+"\n\rabc");
System.out.println("Hello World!---->2"+"\r\nabc");
System.out.println("Hello World!---->3"+"\rabc");
System.out.println("Hello World!---->4"+"\nabc");

System.out.println("_________________________\n");
int i=12345678;
System.out.println(i+"Hello World!---->1"+"\n\rabc");
System.out.println(i+"Hello World!---->2"+"\r\nabc");
System.out.println(i+"Hello World!---->3"+"\rabc");
System.out.println(i+"Hello World!---->4"+"\nabc");

System.out.println("_________________________\n");

String s1="ttt";
String s2=new String("kkk");
System.out.println(s1+"Hello World!---->1"+"\n\rabc");
System.out.println(s1+"Hello World!---->2"+"\r\nabc");
System.out.println(s1+"Hello World!---->3"+"\rabc");
System.out.println(s1+"Hello World!---->4"+"\nabc");

System.out.println("_________________________\n");
System.out.println(s2+"Hello World!---->1"+"\n\rabc");
System.out.println(s2+"Hello World!---->2"+"\r\nabc");
System.out.println(s2+"Hello World!---->3"+"\rabc");
System.out.println(s2+"Hello World!---->4"+"\nabc");


----------编译运行情况-------------------
_________________________

Hello World!---->1
abc
Hello World!---->2
abc
abclo World!---->3
Hello World!---->4
abc
_________________________

12345678Hello World!---->1
abc
12345678Hello World!---->2
abc
abc45678Hello World!---->3
12345678Hello World!---->4
abc
_________________________

tttHello World!---->1
abc
tttHello World!---->2
abc
abcHello World!---->3
tttHello World!---->4
abc
_________________________

kkkHello World!---->1
abc
kkkHello World!---->2
abc
abcHello World!---->3
kkkHello World!---->4
abc
-------------------------------------------
总结:\r\n或\n\r没有区别,\n也等同于:\r\n或\n\r;
\r单独使用,回到本行行首,替换掉对应的字符。
备注:String类的对象在内存中一旦初始化就不能改变,故在上面可以看到,加上\r,abc没有替换String对象,只是排在了最前面。
参考技术B 这个跟操作系统有关
\r Mac
\n Unix/Linux
\r\n Windows

可以用System.getProperty("line.separator")来获取当前操作系统的换行符

你这条小龙也太懒了,都这样了还要例子
public class ABC

public static void main(String[] args)

if(System.getProperty("line.separator").equals("\r\n"))
System.out.println("\\r\\n is for windows");
else if(System.getProperty("line.separator").equals("\r"))
System.out.println("\\r is for Mac");
else if(System.getProperty("line.separator").equals("\n"))
System.out.println("\\n is for Mac");





----------------
\r\n is for windows追问

我写错了,我问的应该是:
什么时候用/n,什么时候用,呵呵呵呵
回答完了,给你分!

追答

是jsp html里面 用的
当你需要强制换行的时候而且是html代码的时候就用
out.println("ssss");

本回答被提问者采纳
参考技术C flyingFish211 强, 又学一招. System.getProperty("line.separator")

以上是关于vue项目开发中啥时候用cookie啥时候用sessionstorage?的主要内容,如果未能解决你的问题,请参考以下文章

请问HTML标签中啥时候用NAME,啥时候用ID,请通俗举例说明。还有JAVASCRIPT中啥时候用THROW语句?

C#中啥时候用小驼峰命名“camelCap”,啥时候用下划线命名“button1_Click”?

java中啥时候用/n ,啥时候用 \r,我从来没有用过?

请问在C程序中啥时候用int main() 啥时候用 void main()。二者是不是可以相互代替?

sql语句中啥时候用单引号啥时候用双引号?如图中的红为啥用双引号?

android中啥时候会选择用广播来进行线程间的通信