使用sessionStorage、localStorage存储数组与对象

简介: 先介绍一下localStoragelocalStorage对象是HTML5的客户端存储持久化数据的方案。为了能访问到同一个localStorage对象,页面必须来自同一个域名(子域名无效),使用同一种协议,在同一个端口上。

先介绍一下localStorage

localStorage对象是HTML5的客户端存储持久化数据的方案。为了能访问到同一个localStorage对象,页面必须来自同一个域名(子域名无效),使用同一种协议,在同一个端口上。

过期策略:localstorage永久存储,不过期,除非手动删除,sessionstorage在重启浏览器、关闭页面或新开页面时失效。

localStorage是Storage类型的实例。有以下的几种方法:

①clear():删除所有值。

②getItem(name):根据指定的名字name获取对应的值

③key(index):在指定的数字位置获取该位置的名字。

④removeItem(name):删除由name指定的名值对

⑤setItem(name,value):为指定名字设置一个对应的值

 

localStorage对象可以通过点号调用这些方法。

例:使用方法来存储数据

localStorage.setItem("name","songyuhua");//这样就用localStorage存储了一个名字为name的数据,数据的内容为 “songyuhua"

 

使用方法来读取数据

localStorage.getItem("name");//这样就读取了名字为“name”的数据的值。

 

有时候,我们需要将数据存储到sessionStorage和localStorage中,这样做的好处有:

1 缓存数据

2 减少对内存的占用

 

但是,storage只能存储字符串的数据,对于JS中常用的数组或对象却不能直接存储。

var obj = { name:'Jim' };

sessionStorage.obj = obj;

localStorage.obj = obj;

 

var arr = [1,2,3];

sessionStorage.obj = arr;

localStorage.obj = arr;

 

上面的写法都是不能成功的!但我们可以通过JSON对象提供的parse和stringify将其他数据类型转化成字符串,再存储到storage中就可以了。请看下面的代码。

 

var obj = { name:'Jim' };

var str = JSON.stringify(obj);

 

//存入

sessionStorage.obj = str;

//读取

str = sessionStorage.obj;

//重新转换为对象

obj = JSON.parse(str);

 

localStorage也一样,只是和sessionStorage的存储时间不一样。

需要注意的是,JS中的数组本质上也是对象类型,所以上面的代码对数组也是适用的。

 

var arra=[1,2,3,4];

localStorage.setItem('key',JSON.stringify(arra));

var read=JSON.parse(localStorage.getItem('key'));

console.log(read,read.length);

 

 

相关文章
|
15天前
|
存储 缓存 JavaScript
cookie、localStorage 和SessionStorage的区别和特点?
cookie、localStorage 和SessionStorage的区别和特点?
10 0
|
6月前
|
存储 缓存 JavaScript
cookie和localStorage的区别特点
cookie和localStorage的区别特点
48 1
|
2月前
|
存储 缓存 前端开发
localStorage
localStorage 是一种浏览器本地存储技术,它可以在用户浏览器中存储数据,包括文本、图像、文件等等。相比于会话存储(sessionStorage),localStorage 的存储时间更长,可以跨多个会话保持数据。因此,localStorage 常常用于存储一些长时间需要保留的数据,例如用户设置、偏好、登录状态等等。 使用 localStorag
24 8
|
4月前
|
存储 JSON 数据格式
localStorage和sessionStorage的使用和区别
localStorage和sessionStorage的使用和区别
34 0
localStorage和sessionStorage的使用和区别
|
5月前
|
存储 安全
cookie、 localStorage的区别和特点
cookie、 localStorage的区别和特点
161 0
|
5月前
|
存储 JSON JavaScript
cookie、 localStorage的区别和特点?
cookie、 localStorage的区别和特点?
|
8月前
|
存储 前端开发
cookie、localStorage和sessionStorage三者的区别
cookie、localStorage和sessionStorage三者的区别
88 0
|
8月前
|
存储 缓存 前端开发
前端存储之sessionStorage和localStorage
前端存储之sessionStorage和localStorage
172 0
|
8月前
|
存储 JavaScript
vuex、localStorage、sessionStorage 存储区别
vuex、localStorage、sessionStorage 存储区别
63 0
|
存储 数据采集 Web App开发
【前端】localStorage与sessionStorage的使用和区别
localStorage与sessionStorage的使用和区别
166 0
【前端】localStorage与sessionStorage的使用和区别