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');