不是说localstorage只能存字符串嘛

来源:2-3 存储实现打怪小案例

慕雪9296518

2020-06-08 20:20:15

为什么课间可以储存数值

写回答

1回答

好帮手慕久久

2020-06-09

同学你好,问题解答如下:

localStorage存储数值时,会将数值转成字符串存储,如下:

http://img.mukewang.com/climg/5edeea2e09cb8ff105540062.jpg

http://img.mukewang.com/climg/5edeea39090a439505520090.jpghttp://img.mukewang.com/climg/5edeea3c0953088905540157.jpg

数值转成字符串后,形式一样,只是类型不同,所以数值这样的简单类型是可以使用localStorage存储的。

但是对象则不可以,直接存储对象后,会将其转成“ [object Object] ”,数据的具体结构改变了,所以无法正确存储,如下:

http://img.mukewang.com/climg/5edeea54094a278605540077.jpg

http://img.mukewang.com/climg/5edeea5a09ec02c405540122.jpg

所以“仅能存储字符串”这句话可以理解成,localStorage存储数据时,会先将数据先转成字符串,再进行存储;由于对象转成字符串后,数据的结构会改变,所以需要使用JSON.stringify()方法将对象转成特殊形式的字符串(保持对象的格式,但是类型是字符串)后再存储,如下:

http://img.mukewang.com/climg/5edeebc209ab91cc07380080.jpghttp://img.mukewang.com/climg/5edeebce097e0a9a07990210.jpg

如果我的回答帮到了你,欢迎采纳,祝学习愉快!


0

0 学习 · 6815 问题

查看课程