localStorage和sessionStorage区别

一·概述

html5中的Web Storage包括了两种存储方式:c。

localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。

sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问
并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅、是会话级别的存储。只允许同一窗口访问。

而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。同源可以读取并修改localStorage数据。

并且他们储存的对象类型均为字符串类型;

 1 //setItem储存value
 2     localStorage.setItem("name","大蛇丸");
 3     localStorage.setItem("job","大前端");
 4     
 5     //getItem获取value
 6     var name = localStorage.getItem('name');
 7     var job = localStorage.getItem('job');
 8     console.log('姓名:' + name);
 9     console.log('职业:' + job);
10     
11     //removeIt删除key
12     localStorage.removeItem('name');
13     var name = localStorage.getItem('name');
14     var job = localStorage.getItem('job');
15     console.log('姓名:' + name);
16     console.log('职业:' + job);
17     
18     //clear清除所有的key/value
19     localStorage.clear();
20     localStorage.removeItem('name');
21     var name = localStorage.getItem('name');
22     var job = localStorage.getItem('job');
23     console.log('姓名:' + name);
24     console.log('职业:' + job);

sessionStorage 、localStorage和cookei的区别:

  

localStorage与sessionStorage的封装(可设置过期时间)

 1  //存储,可设置过期时间
 2 function set(key, value, expires) {
 3     // console.log(key);
 4     let params = { key, value, expires };
 5     if (expires) {
 6         // 记录何时将值存入缓存,毫秒级
 7         var data = Object.assign(params, { startTime: new Date().getTime() });
 8         localStorage.setItem(key, JSON.stringify(data));
 9     } else {
10         if (Object.prototype.toString.call(value) == '[object Object]') {
11             value = JSON.stringify(value);
12         }
13         if (Object.prototype.toString.call(value) == '[object Array]') {
14             value = JSON.stringify(value);
15         }
16         localStorage.setItem(key, value);
17     }
18 }
19 //取出
20 function get1(key) {
21     let item = localStorage.getItem(key);
22     // 先将拿到的试着进行json转为对象的形式
23     try {
24         item = JSON.parse(item);
25     } catch (error) {
26         // eslint-disable-next-line no-self-assign
27         item = item;
28     }
29     // 如果有startTime的值,说明设置了失效时间
30     if (item && item.startTime) {
31         let date = new Date().getTime();
32         // 如果大于就是过期了,如果小于或等于就还没过期
33         if (date - item.startTime > item.expires) {
34             localStorage.removeItem(name);
35             return false;
36         } else {
37             return item.value;
38         }
39     } else {
40         return item;
41     }
42 }
43 
44 //导出
45 module.exports = {
46     set,
47     localget:get1
48 };
49 存:request.set('uid',option.uid,43200000);//时间单位毫秒级
50       request.set('token',option.token,43200000); 
51 取:let uid = request.localget('uid');
52       let token = request.localget('token');   

 

posted @ 2019-05-29 16:48  前端—小白  阅读(16960)  评论(2编辑  收藏  举报