目录

  • sessionStorage方法的使用
  • (1)、存储
  • (2)、读取
  • (3)、删除
  • (4)、清空


本地存储有三种方法,分别是什么呢?

sessionStorage、localStorage、和cookie三种方法

sessionStorage方法的使用

在使用之前我们先看一下sessionStorage它是一个什么

//在使用之前先看一下sessionStorage是一个什么
console.log(sessionStorage)//打印效果为 Storage {length: 0}
//可以看到这是一个storage对象,现在啥都没有添加所以直接显示了长度问0
(1)、存储

需要使用 sessionStorage.setItem() 来进行存储
括号内可以写两个参数
第一个参数存储的数据的名字可以是除了函数以外的任何一个数据类型,一般用的就是字符串数据类型
第二个参数是要进行本地存储的数据,这个数据也同样可以是任何数据类型的,但是存储对象时,则必须使用JSON.stringify来进行转JSON字符串
具体存储流程如下
可以右键检查找到Application再找到sessionStorage查看存储的信息

//ES5的数据类型都可以用来当做名字,但是因为只是用来当做名字所以没必要那么麻烦
//一般都使用字符串类型
//同样存值也可以用ES5的全部数据类型,但是存储对象时需要用JSON.stringify来转化一下
sessionStorage.setItem({name:'对象'},'这是一个对象哟');
sessionStorage.setItem(null,'这是一个空哟');
sessionStorage.setItem(undefined,'这是一个未定义类型哟');
sessionStorage.setItem(123,'这是一个数值类型哟');
sessionStorage.setItem('name','这是一个字符串哟');

如果存储对象不进行JSON.stringify转化的话看一下后台效果

sessionStorage 赋值不起作用 sessionstorage使用_JSON


这里可以看到需要JSON.stringify转化一下

甚至可以看到数组自动变成了一个字符串它的括号没有了

所以得出结论这里存储的所有值都会变成字符串数据类型再看一下使用JSON.stringify后的效果

sessionStorage 赋值不起作用 sessionstorage使用_JSON_02


存储讲完了

(2)、读取

再来给大家讲一下 读取sessionStorage.getItem() 方法
一般普通的数据类型不需要使用JSON.parse() 方法把数据转为JSON对象
如果不转化一下的话输出输出一个字符串直接把内容输出了
因为前面存储的时候用 JSON.stringify() 方法将这个值转化为字符串了

sessionStorage.setItem('object',JSON.stringify({name:'对象'}));
console.log(JSON.parse(sessionStorage.getItem('object')))//{name:'对象'}
			
sessionStorage.setItem('array',JSON.stringify([1,2,3]));
console.log(JSON.parse(sessionStorage.getItem('array')))//[1,2,3]

sessionStorage.setItem('null',null);
console.log(sessionStorage.getItem('null'))//null

sessionStorage.setItem('undefined','这是一个未定义类型哟');
console.log(sessionStorage.getItem('undefined'))//这是一个未定义类型哟

sessionStorage.setItem('number','这是一个数值类型哟');
console.log(sessionStorage.getItem('number'))//这是一个数值类型哟

sessionStorage.setItem('string','这是一个字符串哟');
console.log(sessionStorage.getItem('string'))//这是一个字符串哟

这是没有转JSON对象的输出

sessionStorage 赋值不起作用 sessionstorage使用_javascript_03


这是通过JSON.parse方法转化JSON对象的输出

sessionStorage 赋值不起作用 sessionstorage使用_前端_04


上者和下者之间有着明显的区别

没转化的打印直接为字符串格式没有对象和数组的性质,而转化后的就明显不一样了。

(3)、删除

删除也是比较简单的,你想删除谁直接使用sessionStorage.removeItem() 方法
括号内写要删除的之前存好的名字即可。

//这里有一个字符串类型的本地存储
sessionStorage.setItem('string','这里有一个字符串哟!')
console.log(sessionStorage.getItem('string'))//这是一个字符串哟!
//我们的单个删除方法
sessionStorage.removeItem('string');
//这里输出可以看到值为空null并不是undefined
//虽然说你没有定义吧,但是就是为null
console.log(sessionStorage.getItem('string'))//null

sessionStorage 赋值不起作用 sessionstorage使用_数据类型_05

(4)、清空

还有清空方法,也是比较简单的就是将所有使用清空方法前的本地存储删除
sessionStorage.clear() 方法

sessionStorage.setItem('object',JSON.stringify({name:'对象'}));
console.log(JSON.parse(sessionStorage.getItem('object')))//{name:'对象'}

sessionStorage.setItem('array',JSON.stringify([1,2,3]));
console.log(JSON.parse(sessionStorage.getItem('array')))//[1,2,3]

sessionStorage.setItem('null',null);
console.log(sessionStorage.getItem('null'))//null

sessionStorage.setItem('undefined','这是一个未定义类型哟');
console.log(sessionStorage.getItem('undefined'))//这是一个未定义类型哟

sessionStorage.setItem('number','这是一个数值类型哟');
console.log(sessionStorage.getItem('number'))//这是一个数值类型哟

sessionStorage.setItem('string','这是一个字符串哟');
console.log(sessionStorage.getItem('string'))//这是一个字符串哟

//但是在使用这个方法之前还是可以使用这些本地存储的
sessionStorage.clear() //把之前的存储全部清空

//清空之后就会把之前存储好的本地存储全部清空
console.log(JSON.parse(sessionStorage.getItem('object')))//null
console.log(JSON.parse(sessionStorage.getItem('array')))//null
console.log(sessionStorage.getItem('null'))//null
console.log(sessionStorage.getItem('undefined'))//null
console.log(sessionStorage.getItem('number'))//null
console.log(sessionStorage.getItem('string'))//null
console.log(sessionStorage.getItem('string'))//null

这是清空之前的输出

sessionStorage 赋值不起作用 sessionstorage使用_javascript_06


这是使用清空方法后的输出

sessionStorage 赋值不起作用 sessionstorage使用_JSON_07

就说这么的