面试官:cookie,sessionStorage,localStorage的区别
- 一、cookie
- 二、sessionStorage
- 三、localStorage
一、cookie
let date = new Date();
let time = 3600*60*60*24;time = date.getTime() + time;
date.setTime(time);
//expires为设置过期时间
document.cookie ='name=789;expires= '+date.toUTCString()+'';//以下代码为清除cookie,即将过期时间设置为之前的时间
let date1 = new Date(1998,1,1);
document.cookie = 'name=789;expires='+date1.touTCString()+'';
二、sessionStorage
sessionStorage.setItem("key",'{"a":"1"}');
三、localStorage
// An highlighted block
localStorage.setItem("key",'{"a":"1"}');
公共点:在客户端存放数据
区别:
- 数据存放有效期
- sessionstorage :仅在当前浏览器窗口关闭之前有效。【关闭浏览器就没了】
- localStorage:始终有效,窗口或者浏览器关闭也一直保存,所以叫持久化存储。
- cookie:只在设置的cookie过期时间之前有效,即使窗口或者浏览器关闭也有效。
- localStorage、sessionStorage不可以设置过期时间,cookie有过期时间,可以设置过期(把时间调整到之前的时间,就过期了)
- 存储大小的限制(根据不同的浏览器存储的大小是不同的)
- cookie存储量不能超过4k
- localStorage、sessionStorage不能超过5M